mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
multiqueue: ignore empty not-linked queues
We need to ignore the not-linked queues in the underrun and overrun callbacks because they are expected to be empty.
This commit is contained in:
parent
cf69475aeb
commit
fa371dad6d
1 changed files with 12 additions and 2 deletions
|
@ -1846,6 +1846,11 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
|
||||||
if (oq == sq)
|
if (oq == sq)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (oq->srcresult == GST_FLOW_NOT_LINKED) {
|
||||||
|
GST_LOG_OBJECT (mq, "Queue %d is not-linked", oq->id);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
GST_LOG_OBJECT (mq, "Checking Queue %d", oq->id);
|
GST_LOG_OBJECT (mq, "Checking Queue %d", oq->id);
|
||||||
|
|
||||||
if (gst_data_queue_is_empty (oq->queue)) {
|
if (gst_data_queue_is_empty (oq->queue)) {
|
||||||
|
@ -1878,8 +1883,13 @@ single_queue_underrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
|
||||||
GstMultiQueue *mq = sq->mqueue;
|
GstMultiQueue *mq = sq->mqueue;
|
||||||
GList *tmp;
|
GList *tmp;
|
||||||
|
|
||||||
GST_LOG_OBJECT (mq,
|
if (sq->srcresult == GST_FLOW_NOT_LINKED) {
|
||||||
"Single Queue %d is empty, Checking other single queues", sq->id);
|
GST_LOG_OBJECT (mq, "Single Queue %d is empty but not-linked", sq->id);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
GST_LOG_OBJECT (mq,
|
||||||
|
"Single Queue %d is empty, Checking other single queues", sq->id);
|
||||||
|
}
|
||||||
|
|
||||||
GST_MULTI_QUEUE_MUTEX_LOCK (mq);
|
GST_MULTI_QUEUE_MUTEX_LOCK (mq);
|
||||||
for (tmp = mq->queues; tmp; tmp = g_list_next (tmp)) {
|
for (tmp = mq->queues; tmp; tmp = g_list_next (tmp)) {
|
||||||
|
|
Loading…
Reference in a new issue