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.