mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-06 02:32:23 +00:00
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:
parent
a988871074
commit
a941b4651c
1 changed files with 5 additions and 2 deletions
|
@ -1499,10 +1499,13 @@ out_flushing:
|
||||||
gst_pad_pause_task (queue->srcpad);
|
gst_pad_pause_task (queue->srcpad);
|
||||||
GST_CAT_LOG_OBJECT (queue_dataflow, queue,
|
GST_CAT_LOG_OBJECT (queue_dataflow, queue,
|
||||||
"pause task, reason: %s", gst_flow_get_name (ret));
|
"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);
|
gst_queue_locked_flush (queue, FALSE);
|
||||||
else
|
} else {
|
||||||
GST_QUEUE_SIGNAL_DEL (queue);
|
GST_QUEUE_SIGNAL_DEL (queue);
|
||||||
|
queue->last_query = FALSE;
|
||||||
|
g_cond_signal (&queue->query_handled);
|
||||||
|
}
|
||||||
GST_QUEUE_MUTEX_UNLOCK (queue);
|
GST_QUEUE_MUTEX_UNLOCK (queue);
|
||||||
/* let app know about us giving up if upstream is not expected to do so */
|
/* let app know about us giving up if upstream is not expected to do so */
|
||||||
/* EOS is already taken care of elsewhere */
|
/* EOS is already taken care of elsewhere */
|
||||||
|
|
Loading…
Reference in a new issue