Enqueue()

Updated: April 19, 2023

Add a video buffer to the queue

Synopsis:

#include <OMXAL/OpenMAXAL_QNX.h>
struct XAQNXVideoBufferQueueSourceItf_ {
    XAresult (*Enqueue)(XAQNXVideoBufferQueueSourceItf self,
                        void *pBufferContext,
                        screen_buffer_t screenBuffer,
                        const XAQNXBufferItem *pItems,
                        XAuint32 itemsLength);
} ;

Arguments:

self
A reference to the source interface
pBufferContext
A pointer to the buffer context
screenBuffer
A handle to the Screen buffer containing the video data
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 video buffer to the queue used by an OpenMAX source. This is the mechanism for writing Screen 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 Screen data, the application must return the memory of all buffers (e.g., by calling free()), and must call Clear() to make the source interface delete its references to that buffer memory.

Returns:

An XA_RESULT_* constant indicating the operation result