Updated: October 26, 2022

The XAQNXBufferQueueSourceItf interface allows your applications to send audio or video data to the QNX OpenMAX-compliant media engine for processing.

When you're ready to play or record media content, you can call SetBufferInfo() to provide the interface with information about the buffer queue (and buffers within it) used by the OpenMAX source that will receive the content. Then, after reading in the data from a file, memory area written to by Camera, or an audio driver, you can add the data to the buffer queue. This is done with the Enqueue() function, which writes a single buffer.

To handle buffer events, you can specify a callback function using RegisterCallback(). You can choose to handle only certain types of events, by calling SetCallbackEventsMask() and passing in a bitmask indicating which event types will be handled. To learn which event types were selected, call GetCallbackEventsMask().

When you're finished writing media data to the source, you should call Clear() to make the interface delete its reference to the buffers and its metadata describing them.