mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +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_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 */
|
||||
|
|
Loading…
Reference in a new issue