mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-26 00:58:12 +00:00
multiqueue: check filled state of queues even if another one is empty
This will avoid a case where overrun is never signalled if some stream never produces any data, causing playbin2 to not end preroll. https://bugzilla.gnome.org/show_bug.cgi?id=660778
This commit is contained in:
parent
aa9ba2dd4e
commit
611ac6ea85
1 changed files with 0 additions and 3 deletions
|
@ -1783,8 +1783,6 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
|
||||||
"Another queue is empty, bumping single queue %d max visible to %d",
|
"Another queue is empty, bumping single queue %d max visible to %d",
|
||||||
sq->id, sq->max_size.visible);
|
sq->id, sq->max_size.visible);
|
||||||
}
|
}
|
||||||
GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
|
|
||||||
goto beach;
|
|
||||||
}
|
}
|
||||||
/* check if we reached the hard time/bytes limits */
|
/* check if we reached the hard time/bytes limits */
|
||||||
gst_data_queue_get_level (oq->queue, &ssize);
|
gst_data_queue_get_level (oq->queue, &ssize);
|
||||||
|
@ -1818,7 +1816,6 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
|
||||||
g_signal_emit (mq, gst_multi_queue_signals[SIGNAL_OVERRUN], 0);
|
g_signal_emit (mq, gst_multi_queue_signals[SIGNAL_OVERRUN], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
beach:
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue