![]() |
![]() |
![]() |
GStreamer 1.0 Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#include <gst/base/gstqueuearray.h> GstQueueArray; GstQueueArray * gst_queue_array_new (guint initial_size
); void gst_queue_array_free (GstQueueArray *array
); guint gst_queue_array_get_length (GstQueueArray *array
); gpointer gst_queue_array_pop_head (GstQueueArray *array
); gpointer gst_queue_array_peek_head (GstQueueArray *array
); void gst_queue_array_push_tail (GstQueueArray *array
,gpointer data
); gboolean gst_queue_array_is_empty (GstQueueArray *array
); gpointer gst_queue_array_drop_element (GstQueueArray *array
,guint idx
); guint gst_queue_array_find (GstQueueArray *array
,GCompareFunc func
,gpointer data
);
GstQueueArray is an object that provides standard queue functionality based on an array instead of linked lists. This reduces the overhead caused by memory managment by a large factor.
GstQueueArray * gst_queue_array_new (guint initial_size
);
Allocates a new GstQueueArray object with an initial
queue size of initial_size
.
|
Initial size of the new queue |
Returns : |
a new GstQueueArray object |
Since 1.2.0
void gst_queue_array_free (GstQueueArray *array
);
Frees queue array
and all memory associated to it.
|
a GstQueueArray object |
Since 1.2.0
guint gst_queue_array_get_length (GstQueueArray *array
);
Returns the length of the queue array
|
a GstQueueArray object |
Returns : |
the length of the queue array . |
Since 1.2.0
gpointer gst_queue_array_pop_head (GstQueueArray *array
);
Returns and head of the queue array
and does not
remove it from the queue.
|
a GstQueueArray object |
Returns : |
The head of the queue |
Since 1.2.0
void gst_queue_array_push_tail (GstQueueArray *array
,gpointer data
);
Pushes data
to the tail of the queue array
.
|
a GstQueueArray object |
|
object to push |
Since 1.2.0
gboolean gst_queue_array_is_empty (GstQueueArray *array
);
Checks if the queue array
is empty.
|
a GstQueueArray object |
Returns : |
TRUE if the queue array is empty |
Since 1.2.0
gpointer gst_queue_array_drop_element (GstQueueArray *array
,guint idx
);
Drops the queue element at position idx
from queue array
.
|
a GstQueueArray object |
|
index to drop |
Returns : |
the dropped element |
Since 1.2.0
guint gst_queue_array_find (GstQueueArray *array
,GCompareFunc func
,gpointer data
);
Finds an element in the queue array
, either by comparing every element
with func
or by looking up data
if no compare function func
is provided,
and returning the index of the found element.
Note that the index is not 0-based, but an internal index number with a
random offset. The index can be used in connection with
gst_queue_array_drop_element()
. FIXME: return index 0-based and make
_drop_element()
take a 0-based index.
|
a GstQueueArray object |
|
comparison function, or NULL to find data by value. [allow-none]
|
|
data for comparison function |
Returns : |
Index of the found element or -1 if nothing was found. |
Since 1.2.0