| Top |  |  |  |  | 
GstQueueArray is an object that provides standard queue functionality based on an array instead of linked lists. This reduces the overhead caused by memory management 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
.
[skip]
Since: 1.2
void
gst_queue_array_free (GstQueueArray *array);
Frees queue array
 and all memory associated to it.
[skip]
Since: 1.2
void gst_queue_array_set_clear_func (GstQueueArray *array,GDestroyNotify clear_func);
Sets a function to clear an element of array
.
The clear_func
 will be called when an element in the array
data segment is removed and when the array is freed and data
segment is deallocated as well. clear_func
 will be passed a
pointer to the element to clear, rather than the element itself.
Note that in contrast with other uses of GDestroyNotify
functions, clear_func
 is expected to clear the contents of
the array element it is given, but not free the element itself.
[skip]
Since: 1.16
void
gst_queue_array_clear (GstQueueArray *array);
Clears queue array
 and frees all memory associated to it.
[skip]
Since: 1.16
guint
gst_queue_array_get_length (GstQueueArray *array);
Returns the length of the queue array
[skip]
Since: 1.2
gpointer
gst_queue_array_pop_head (GstQueueArray *array);
Returns and head of the queue array
 and removes
it from the queue.
[skip]
Since: 1.2
gpointer
gst_queue_array_peek_head (GstQueueArray *array);
Returns the head of the queue array
 and does not
remove it from the queue.
[skip]
Since: 1.2
gpointer gst_queue_array_peek_nth (GstQueueArray *array,guint idx);
Returns the item at idx
 in array
, but does not remove it from the queue.
[skip]
Since: 1.16
void gst_queue_array_push_tail (GstQueueArray *array,gpointer data);
Pushes data
 to the tail of the queue array
.
[skip]
Since: 1.2
gpointer
gst_queue_array_pop_tail (GstQueueArray *array);
Returns the tail of the queue array
 and removes
it from the queue.
[skip]
Since: 1.14
gpointer
gst_queue_array_peek_tail (GstQueueArray *array);
Returns the tail of the queue array
, but does not remove it from the queue.
[skip]
Since: 1.14
gboolean
gst_queue_array_is_empty (GstQueueArray *array);
Checks if the queue array
 is empty.
[skip]
Since: 1.2
gpointer gst_queue_array_drop_element (GstQueueArray *array,guint idx);
Drops the queue element at position idx
 from queue array
.
[skip]
Since: 1.2
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.
[skip]
| array | a GstQueueArray object | |
| func | comparison function, or  | [allow-none] | 
| data | data for comparison function | 
Since: 1.2
GstQueueArray * gst_queue_array_new_for_struct (gsize struct_size,guint initial_size);
Allocates a new GstQueueArray object for elements (e.g. structures)
of size struct_size
, with an initial queue size of initial_size
.
[skip]
| struct_size | Size of each element (e.g. structure) in the array | |
| initial_size | Initial size of the new queue | 
Since: 1.6
void gst_queue_array_push_tail_struct (GstQueueArray *array,gpointer p_struct);
gpointer
gst_queue_array_peek_head_struct (GstQueueArray *array);
Returns the head of the queue array
 without removing it from the queue.
[skip]
 pointer to element or struct, or NULL if array
was empty. The
data pointed to by the returned pointer stays valid only as long as
the queue array is not modified further!
Since: 1.6
gpointer gst_queue_array_peek_nth_struct (GstQueueArray *array,guint idx);
Returns the item at idx
 in array
, but does not remove it from the queue.
[skip]
Since: 1.16
gpointer
gst_queue_array_pop_head_struct (GstQueueArray *array);
Returns the head of the queue array
 and removes it from the queue.
[skip]
 pointer to element or struct, or NULL if array
was empty. The
data pointed to by the returned pointer stays valid only as long as
the queue array is not modified further!
Since: 1.6
gpointer
gst_queue_array_peek_tail_struct (GstQueueArray *array);
Returns the tail of the queue array
, but does not remove it from the queue.
[skip]
Since: 1.14
gpointer
gst_queue_array_pop_tail_struct (GstQueueArray *array);
Returns the tail of the queue array
 and removes
it from the queue.
[skip]
Since: 1.14
gboolean gst_queue_array_drop_struct (GstQueueArray *array,guint idx,gpointer p_struct);
Drops the queue element at position idx
 from queue array
 and copies the
data of the element or structure that was removed into p_struct
 if
p_struct
 is set (not NULL).
[skip]
| array | a GstQueueArray object | |
| idx | index to drop | |
| p_struct | address into which to store the data of the dropped structure, or NULL | 
Since: 1.6