Merge remote-tracking branch 'origin/0.10'

This commit is contained in:
Sebastian Dröge 2012-04-09 16:42:30 +02:00
commit 1a61f3ec19

View file

@ -1177,6 +1177,7 @@ gst_multi_queue_loop (GstPad * pad)
guint32 newid;
GstFlowReturn result;
GstClockTime next_time;
gboolean is_buffer;
sq = (GstSingleQueue *) gst_pad_get_element_private (pad);
mq = sq->mqueue;
@ -1198,6 +1199,8 @@ gst_multi_queue_loop (GstPad * pad)
object = gst_multi_queue_item_steal_object (item);
gst_multi_queue_item_destroy (item);
is_buffer = GST_IS_BUFFER (object);
/* Get running time of the item. Events will have GST_CLOCK_TIME_NONE */
next_time = get_running_time (&sq->src_segment, object, TRUE);
@ -1307,6 +1310,7 @@ gst_multi_queue_loop (GstPad * pad)
/* Try to push out the new object */
result = gst_single_queue_push_one (mq, sq, object);
object = NULL;
/* Check if we pushed something already and if this is
* now a switch from an active to a non-active stream.
@ -1342,14 +1346,12 @@ gst_multi_queue_loop (GstPad * pad)
}
}
if (GST_IS_BUFFER (object))
if (is_buffer)
sq->pushed = TRUE;
sq->srcresult = result;
sq->last_oldid = newid;
GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
object = NULL;
if (result != GST_FLOW_OK && result != GST_FLOW_NOT_LINKED
&& result != GST_FLOW_EOS)
goto out_flushing;