Reading the documentation à propos de iOS SDK CMBufferQueueCreate
, il est dit que getDuration
et la version sont requis, tous les autres rappels peuvent être NULL.Quels sont les paramètres requis pour CMBufferQueueCreate?
Mais exécutant le code suivant:
CFAllocatorRef allocator;
CMBufferCallbacks *callbacks;
callbacks = malloc(sizeof(CMBufferCallbacks));
callbacks->version = 0;
callbacks->getDuration = timeCallback;
callbacks->refcon = NULL;
callbacks->getDecodeTimeStamp = NULL;
callbacks->getPresentationTimeStamp = NULL;
callbacks->isDataReady = NULL;
callbacks->compare = NULL;
callbacks->dataBecameReadyNotification = NULL;
CMItemCount capacity = 4;
OSStatus s = CMBufferQueueCreate(allocator, capacity, callbacks, queue);
NSLog(@"QUEUE: %x", queue);
NSLog(@"STATUS: %i", s);
avec timeCallback:
CMTime timeCallback(CMBufferRef buf, void *refcon){
return CMTimeMake(1, 1);
}
et file d'attente est:
CMBufferQueueRef* queue;
créations de file d'attente ne parvient pas (file d'attente = 0), et renvoie un statut de:
kCMBufferQueueError_RequiredParameterMissing = -12761,
La variable callbacks
est correctement initialisée, au moins le débogueur l'indique.
Est-ce que quelqu'un a utilisé le CMBufferQueue
?