From a93615aea1a85d5059de43614d5e6148f6ae4054 Mon Sep 17 00:00:00 2001 From: Arnaud Vrac Date: Fri, 24 Jan 2014 19:19:08 +0100 Subject: [PATCH] multiqueue: do not reduce single queue below current level When the single queue size was just bumped by 1 to allow more buffers to be added, the buffers limit could be reduced to the current level when setting the max-size-buffers property. This would result in a stall since the queue would not grow anymore at this point. Prevent this by not reducing a single queue size below the current number of buffers + 1. https://bugzilla.gnome.org/show_bug.cgi?id=712597 --- plugins/elements/gstmultiqueue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c index cc2f3fb8be..f7ed0ea60a 100644 --- a/plugins/elements/gstmultiqueue.c +++ b/plugins/elements/gstmultiqueue.c @@ -510,8 +510,8 @@ gst_multi_queue_set_property (GObject * object, guint prop_id, /* do not reduce max size below current level if the single queue has grown because of empty queue */ if (new_size == 0) { q->max_size.visible = new_size; - } else { - q->max_size.visible = MAX (new_size, size.visible); + } else if (new_size > size.visible) { + q->max_size.visible = new_size; } tmp = g_list_next (tmp); };