queue: avoid return flushing if we have a not-linked

Return the correct flow return instead of returning always flushing.
This would cause queue to convert not-linked to flushing and making
upstream elements stop.

Based on the previous patch for queue2.

https://bugzilla.gnome.org/show_bug.cgi?id=776999
This commit is contained in:
Thiago Santos 2017-03-14 22:18:36 -07:00
parent 045700e80e
commit 058bdcfe6b

View File

@ -1465,15 +1465,19 @@ no_item:
} }
out_flushing: out_flushing:
{ {
GST_CAT_LOG_OBJECT (queue_dataflow, queue, "exit because we are flushing"); GstFlowReturn ret = queue->srcresult;
return GST_FLOW_FLUSHING; GST_CAT_LOG_OBJECT (queue_dataflow, queue,
"exit because task paused, reason: %s", gst_flow_get_name (ret));
return ret;
} }
out_flushing_query: out_flushing_query:
{ {
GstFlowReturn ret = queue->srcresult;
queue->last_query = FALSE; queue->last_query = FALSE;
g_cond_signal (&queue->query_handled); g_cond_signal (&queue->query_handled);
GST_CAT_LOG_OBJECT (queue_dataflow, queue, "exit because we are flushing"); GST_CAT_LOG_OBJECT (queue_dataflow, queue,
return GST_FLOW_FLUSHING; "exit because task paused, reason: %s", gst_flow_get_name (ret));
return ret;
} }
} }