queue: Wake up the query function on errors from the loop function

Otherwise we might wait forever for serialized queries to be handled as the
loop function is stopped and as such we will never ever dequeue the query and
handle it.

https://bugzilla.gnome.org/show_bug.cgi?id=745319
This commit is contained in:
Sebastian Dröge 2015-03-03 12:48:34 +01:00
parent a988871074
commit a941b4651c

View file

@ -1499,10 +1499,13 @@ out_flushing:
gst_pad_pause_task (queue->srcpad);
GST_CAT_LOG_OBJECT (queue_dataflow, queue,
"pause task, reason: %s", gst_flow_get_name (ret));
if (ret == GST_FLOW_FLUSHING)
if (ret == GST_FLOW_FLUSHING) {
gst_queue_locked_flush (queue, FALSE);
else
} else {
GST_QUEUE_SIGNAL_DEL (queue);
queue->last_query = FALSE;
g_cond_signal (&queue->query_handled);
}
GST_QUEUE_MUTEX_UNLOCK (queue);
/* let app know about us giving up if upstream is not expected to do so */
/* EOS is already taken care of elsewhere */