multiqueue: percentage is an absolute value
authorThiago Santos <thiagoss@osg.samsung.com>
Sun, 23 Nov 2014 08:42:51 +0000 (05:42 -0300)
committerThiago Santos <thiagoss@osg.samsung.com>
Sun, 23 Nov 2014 08:51:12 +0000 (05:51 -0300)
multiqueue's queues stored percent value is the percentage from 0
to 100 (max-size-*) and should be compared with the requested limit
(high_percentage) set by the user and not with 100% to check if
buffering should stop. Otherwise we are only stopping buffering when the
queue gets completely full.

plugins/elements/gstmultiqueue.c

index 61d677315c58c23a5b92d6c3c12e706a739404ab..c60596bac340e35db0da1fb5fc2b3aff7fa159b4 100644 (file)
@@ -943,7 +943,7 @@ update_buffering (GstMultiQueue * mq, GstSingleQueue * sq)
     for (iter = mq->queues; iter; iter = g_list_next (iter)) {
       GstSingleQueue *oq = (GstSingleQueue *) iter->data;
 
-      if (get_percentage (oq) >= 100) {
+      if (get_percentage (oq) >= mq->high_percent) {
         is_buffering = FALSE;
 
         break;