| Top |
| GstAtomicQueue * | gst_atomic_queue_new () |
| void | gst_atomic_queue_ref () |
| void | gst_atomic_queue_unref () |
| void | gst_atomic_queue_push () |
| gpointer | gst_atomic_queue_peek () |
| gpointer | gst_atomic_queue_pop () |
| guint | gst_atomic_queue_length () |
The GstAtomicQueue object implements a queue that can be used from multiple threads without performing any blocking operations.
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.
void
gst_atomic_queue_ref (GstAtomicQueue *queue);
Increase the refcount of queue
.
void
gst_atomic_queue_unref (GstAtomicQueue *queue);
Unref queue
and free the memory when the refcount reaches 0.
void gst_atomic_queue_push (GstAtomicQueue *queue,gpointer data);
Append data
to the tail of the queue.
gpointer
gst_atomic_queue_peek (GstAtomicQueue *queue);
Peek the head element of the queue without removing it from the queue.
gpointer
gst_atomic_queue_pop (GstAtomicQueue *queue);
Get the head element of the queue.
guint
gst_atomic_queue_length (GstAtomicQueue *queue);
Get the amount of items in the queue.