Enqueue()

Updated: October 26, 2022

Add a buffer to the queue

Synopsis:

#include <OMXAL/OpenMAXAL_QNX.h>
struct XAQNXBufferQueueSourceItf_ {
    XAresult (*Enqueue)(XAQNXBufferQueueSourceItf self,
                        void *pBufferContext,
                        void *pData,
                        XAuint32 dataLength,
                        const XAQNXBufferItem *pItems,
                        XAuint32 itemsLength);
} ;

Arguments:

self
A reference to the source interface
pBufferContext
A pointer to the buffer context
pData
A pointer to the memory where the data items are stored
dataLength
The buffer size, in bytes
pItems
An array of XAQNXBufferItem structures describing the individual data items
itemsLength
The number of items in the buffer

Library:

mmfilter

Description:

This function adds a buffer to the queue used by an OpenMAX source. This is the mechanism for writing audio and video data to the QNX OpenMAX-compliant media engine for processing.

An application still owns the memory of the buffers that it adds to the queue. When it's finished writing media data, the application must return the memory of all buffers (e.g., by calling free()), and must call Clear() to make the interface delete its references to that buffer memory.

Returns:

An XA_RESULT_* constant indicating the operation result