IC4_QUEUESINK_CONFIG Struct Reference

Configures the behavior of a queue sink. More...

Data Fields

struct IC4_QUEUESINK_CALLBACKS callbacks

A structure containing function pointers to customize the sink's behavior.

void * callback_context

A user-defined value that is passed to the callbacks.

enum IC4_PIXEL_FORMATpixel_formats

An array of possible pixel formats that the sink can receive.

size_t num_pixel_formats

Length of the pixel_formats array.

struct IC4_ALLOCATOR_CALLBACKS allocator

A structure containing function pointers to customize the sink's allocator.

void * allocator_context

A user-defined value that is passed to the allocator callbacks.

size_t max_output_buffers

Defines the maximum number of buffers that are stored in the sink's output queue.

Detailed Description

Configures the behavior of a queue sink.

A pointer to a IC4_QUEUESINK_CONFIG is passed to ic4_queuesink_create().

Field Documentation

◆ allocator

struct IC4_ALLOCATOR_CALLBACKS allocator

A structure containing function pointers to customize the sink's allocator.

This parameter is optional, set all callback functions to NULL to use the default allocator.

If IC4_ALLOCATOR_CALLBACKS::allocate_buffer is set, IC4_ALLOCATOR_CALLBACKS::free_buffer must be set as well.

◆ allocator_context

void* allocator_context

A user-defined value that is passed to the allocator callbacks.

If callback_context points to a memory location, and callback functions access that memory, the program has to make sure that the memory is valid until the IC4_ALLOCATOR_CALLBACKS::release callback is executed.

◆ callback_context

void* callback_context

A user-defined value that is passed to the callbacks.

If callback_context points to a memory location, and callback functions access that memory, the program has to make sure that the memory is valid until the IC4_QUEUESINK_CALLBACKS::release callback is executed.

◆ callbacks

struct IC4_QUEUESINK_CALLBACKS callbacks

A structure containing function pointers to customize the sink's behavior.

Programs usually at least register a callback for IC4_QUEUESINK_CALLBACKS::frames_queued to be able to process new images immediately.

◆ max_output_buffers

size_t max_output_buffers

Defines the maximum number of buffers that are stored in the sink's output queue.

If set to 0, the number of buffers is unlimited. If a new frame arrives at the sink, and the output queue size would exceed max_output_buffers, the oldest image is discarded and its buffer is added to the free queue.

◆ num_pixel_formats

size_t num_pixel_formats

Length of the pixel_formats array.

If this value is 0, the sink will accept any pixel format.