GstAtomicQueue

The GstAtomicQueue object implements a queue that can be used from multiple threads without performing any blocking operations.

GstAtomicQueue

Opaque atomic data queue.

Use the accessor functions to get the stored values.


Constructors

gst_atomic_queue_new

GstAtomicQueue *
gst_atomic_queue_new (guint initial_size)

Create a new atomic queue instance. initial_size will be rounded up to the nearest power of 2 and used as the initial size of the queue.

Parameters:

initial_size

initial queue size

Returns

a new GstAtomicQueue


Methods

gst_atomic_queue_length

guint
gst_atomic_queue_length (GstAtomicQueue * queue)

Get the amount of items in the queue.

Parameters:

queue

a GstAtomicQueue

Returns

the number of elements in the queue.


gst_atomic_queue_peek

gpointer
gst_atomic_queue_peek (GstAtomicQueue * queue)

Peek the head element of the queue without removing it from the queue.

Parameters:

queue

a GstAtomicQueue

Returns ( [transfer: none][nullable])

the head element of queue or NULL when the queue is empty.


gst_atomic_queue_pop

gpointer
gst_atomic_queue_pop (GstAtomicQueue * queue)

Get the head element of the queue.

Parameters:

queue

a GstAtomicQueue

Returns ( [transfer: full][nullable])

the head element of queue or NULL when the queue is empty.


gst_atomic_queue_push

gst_atomic_queue_push (GstAtomicQueue * queue,
                       gpointer data)

Append data to the tail of the queue.

Parameters:

queue

a GstAtomicQueue

data

the data


gst_atomic_queue_ref

gst_atomic_queue_ref (GstAtomicQueue * queue)

Increase the refcount of queue.

Parameters:

queue

a GstAtomicQueue


gst_atomic_queue_unref

gst_atomic_queue_unref (GstAtomicQueue * queue)

Unref queue and free the memory when the refcount reaches 0.

Parameters:

queue

a GstAtomicQueue


The results of the search are