]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/blobdiff - plugins/elements/gstmultiqueue.c
multiqueue: check filled state of queues even if another one is empty
[glsdk/gstreamer0-10.git] / plugins / elements / gstmultiqueue.c
index 9f39155afcc0abe1455c82670f7e43c4bb60baf1..89d2289397e770ee548a414609734870eecabf05 100644 (file)
@@ -411,7 +411,7 @@ gst_multi_queue_class_init (GstMultiQueueClass * klass)
    * streams by keeping the order in which buffers and events arrived compared
    * to active and linked streams.
    *
-   * Since: 0.10.35
+   * Since: 0.10.36
    */
   g_object_class_install_property (gobject_class, PROP_SYNC_BY_RUNNING_TIME,
       g_param_spec_boolean ("sync-by-running-time", "Sync By Running Time",
@@ -1304,7 +1304,7 @@ gst_multi_queue_loop (GstPad * pad)
     if (sq->last_time == GST_CLOCK_TIME_NONE || sq->last_time < next_time)
       sq->last_time = next_time;
     if (mq->high_time == GST_CLOCK_TIME_NONE || mq->high_time <= next_time) {
-      /* Wake up all non-linked pads now that we advanceed the high time */
+      /* Wake up all non-linked pads now that we advanced the high time */
       mq->high_time = next_time;
       wake_up_next_non_linked (mq);
     }
@@ -1357,7 +1357,7 @@ out_flushing:
  * gst_multi_queue_chain:
  *
  * This is similar to GstQueue's chain function, except:
- * _ we don't have leak behavioures,
+ * _ we don't have leak behaviours,
  * _ we push with a unique id (curid)
  */
 static GstFlowReturn
@@ -1783,8 +1783,6 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
             "Another queue is empty, bumping single queue %d max visible to %d",
             sq->id, sq->max_size.visible);
       }
-      GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
-      goto beach;
     }
     /* check if we reached the hard time/bytes limits */
     gst_data_queue_get_level (oq->queue, &ssize);
@@ -1818,7 +1816,6 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
     g_signal_emit (mq, gst_multi_queue_signals[SIGNAL_OVERRUN], 0);
   }
 
-beach:
   return;
 }