mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
queue2: use statically allocated GQueue
This commit is contained in:
parent
391568efde
commit
cc279e6bdd
2 changed files with 11 additions and 11 deletions
|
@ -155,7 +155,7 @@ enum
|
||||||
queue->max_level.time, \
|
queue->max_level.time, \
|
||||||
(guint64) (!QUEUE_IS_USING_QUEUE(queue) ? \
|
(guint64) (!QUEUE_IS_USING_QUEUE(queue) ? \
|
||||||
queue->current->writing_pos - queue->current->max_reading_pos : \
|
queue->current->writing_pos - queue->current->max_reading_pos : \
|
||||||
queue->queue->length))
|
queue->queue.length))
|
||||||
|
|
||||||
#define GST_QUEUE2_MUTEX_LOCK(q) G_STMT_START { \
|
#define GST_QUEUE2_MUTEX_LOCK(q) G_STMT_START { \
|
||||||
g_mutex_lock (q->qlock); \
|
g_mutex_lock (q->qlock); \
|
||||||
|
@ -448,7 +448,7 @@ gst_queue2_init (GstQueue2 * queue, GstQueue2Class * g_class)
|
||||||
queue->item_add = g_cond_new ();
|
queue->item_add = g_cond_new ();
|
||||||
queue->waiting_del = FALSE;
|
queue->waiting_del = FALSE;
|
||||||
queue->item_del = g_cond_new ();
|
queue->item_del = g_cond_new ();
|
||||||
queue->queue = g_queue_new ();
|
g_queue_init (&queue->queue);
|
||||||
|
|
||||||
queue->buffering_percent = 100;
|
queue->buffering_percent = 100;
|
||||||
|
|
||||||
|
@ -473,13 +473,13 @@ gst_queue2_finalize (GObject * object)
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (queue, "finalizing queue");
|
GST_DEBUG_OBJECT (queue, "finalizing queue");
|
||||||
|
|
||||||
while (!g_queue_is_empty (queue->queue)) {
|
while (!g_queue_is_empty (&queue->queue)) {
|
||||||
GstMiniObject *data = g_queue_pop_head (queue->queue);
|
GstMiniObject *data = g_queue_pop_head (&queue->queue);
|
||||||
|
|
||||||
gst_mini_object_unref (data);
|
gst_mini_object_unref (data);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_queue_free (queue->queue);
|
g_queue_clear (&queue->queue);
|
||||||
g_mutex_free (queue->qlock);
|
g_mutex_free (queue->qlock);
|
||||||
g_cond_free (queue->item_add);
|
g_cond_free (queue->item_add);
|
||||||
g_cond_free (queue->item_del);
|
g_cond_free (queue->item_del);
|
||||||
|
@ -1479,8 +1479,8 @@ gst_queue2_locked_flush (GstQueue2 * queue)
|
||||||
gst_queue2_flush_temp_file (queue);
|
gst_queue2_flush_temp_file (queue);
|
||||||
init_ranges (queue);
|
init_ranges (queue);
|
||||||
} else {
|
} else {
|
||||||
while (!g_queue_is_empty (queue->queue)) {
|
while (!g_queue_is_empty (&queue->queue)) {
|
||||||
GstMiniObject *data = g_queue_pop_head (queue->queue);
|
GstMiniObject *data = g_queue_pop_head (&queue->queue);
|
||||||
|
|
||||||
/* Then lose another reference because we are supposed to destroy that
|
/* Then lose another reference because we are supposed to destroy that
|
||||||
data when flushing */
|
data when flushing */
|
||||||
|
@ -1882,7 +1882,7 @@ gst_queue2_locked_enqueue (GstQueue2 * queue, gpointer item, gboolean isbuffer)
|
||||||
update_buffering (queue);
|
update_buffering (queue);
|
||||||
|
|
||||||
if (QUEUE_IS_USING_QUEUE (queue)) {
|
if (QUEUE_IS_USING_QUEUE (queue)) {
|
||||||
g_queue_push_tail (queue->queue, item);
|
g_queue_push_tail (&queue->queue, item);
|
||||||
} else {
|
} else {
|
||||||
gst_mini_object_unref (GST_MINI_OBJECT_CAST (item));
|
gst_mini_object_unref (GST_MINI_OBJECT_CAST (item));
|
||||||
}
|
}
|
||||||
|
@ -1913,7 +1913,7 @@ gst_queue2_locked_dequeue (GstQueue2 * queue, gboolean * is_buffer)
|
||||||
if (!QUEUE_IS_USING_QUEUE (queue))
|
if (!QUEUE_IS_USING_QUEUE (queue))
|
||||||
item = gst_queue2_read_item_from_file (queue);
|
item = gst_queue2_read_item_from_file (queue);
|
||||||
else
|
else
|
||||||
item = g_queue_pop_head (queue->queue);
|
item = g_queue_pop_head (&queue->queue);
|
||||||
|
|
||||||
if (item == NULL)
|
if (item == NULL)
|
||||||
goto no_item;
|
goto no_item;
|
||||||
|
@ -2094,7 +2094,7 @@ gst_queue2_is_empty (GstQueue2 * queue)
|
||||||
if (!QUEUE_IS_USING_QUEUE (queue) && queue->current) {
|
if (!QUEUE_IS_USING_QUEUE (queue) && queue->current) {
|
||||||
return queue->current->writing_pos <= queue->current->max_reading_pos;
|
return queue->current->writing_pos <= queue->current->max_reading_pos;
|
||||||
} else {
|
} else {
|
||||||
if (queue->queue->length == 0)
|
if (queue->queue.length == 0)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ struct _GstQueue2
|
||||||
gboolean unexpected;
|
gboolean unexpected;
|
||||||
|
|
||||||
/* the queue of data we're keeping our hands on */
|
/* the queue of data we're keeping our hands on */
|
||||||
GQueue *queue;
|
GQueue queue;
|
||||||
|
|
||||||
GstQueue2Size cur_level; /* currently in the queue */
|
GstQueue2Size cur_level; /* currently in the queue */
|
||||||
GstQueue2Size max_level; /* max. amount of data allowed in the queue */
|
GstQueue2Size max_level; /* max. amount of data allowed in the queue */
|
||||||
|
|
Loading…
Reference in a new issue