queue: queue2: preserve last flow result when pushing events
authorThiago Santos <ts.santos@sisa.samsung.com>
Mon, 10 Mar 2014 12:49:07 +0000 (09:49 -0300)
committerThiago Santos <ts.santos@sisa.samsung.com>
Mon, 10 Mar 2014 13:10:20 +0000 (10:10 -0300)
Avoids mistakenly returning _OK when downstream is still
_NOT_LINKED on subsequent received pad pushes

https://bugzilla.gnome.org/show_bug.cgi?id=725917

plugins/elements/gstqueue.c
plugins/elements/gstqueue2.c

index 5bb6774..46e969f 100644 (file)
@@ -1089,7 +1089,7 @@ out_unexpected:
 static GstFlowReturn
 gst_queue_push_one (GstQueue * queue)
 {
-  GstFlowReturn result = GST_FLOW_OK;
+  GstFlowReturn result = queue->srcresult;
   GstMiniObject *data;
 
   data = gst_queue_locked_dequeue (queue);
index d023d1c..36cd405 100644 (file)
@@ -2577,7 +2577,7 @@ gst_queue2_dequeue_on_eos (GstQueue2 * queue, GstQueue2ItemType * item_type)
 static GstFlowReturn
 gst_queue2_push_one (GstQueue2 * queue)
 {
-  GstFlowReturn result = GST_FLOW_OK;
+  GstFlowReturn result = queue->srcresult;
   GstMiniObject *data;
   GstQueue2ItemType item_type;