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
This commit is contained in:
Arnaud Vrac 2014-01-24 19:19:08 +01:00 committed by Sebastian Dröge
parent a7420fe0ec
commit 7e3815e3ab

View file

@ -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);
};