From 49fa99737bbd04d16a355d3059d54f836e6b54f4 Mon Sep 17 00:00:00 2001 From: Arnaud Vrac Date: Wed, 21 Feb 2024 12:20:19 +0100 Subject: [PATCH] queue2: post 100% buffering message even when waiting for space to be freed In the case where the queue shrinks due to a property change and the queue becomes full, we would set the waiting_del flag, which would prevent posting the 100% buffering message on the bus. Since the pipeline is not aware of the new buffering value, in the common case where the pipeline is paused during buffering, it would never resume. Part-of: --- subprojects/gstreamer/plugins/elements/gstqueue2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subprojects/gstreamer/plugins/elements/gstqueue2.c b/subprojects/gstreamer/plugins/elements/gstqueue2.c index 6c8be5feb1..999c231d14 100644 --- a/subprojects/gstreamer/plugins/elements/gstqueue2.c +++ b/subprojects/gstreamer/plugins/elements/gstqueue2.c @@ -1193,7 +1193,7 @@ gst_queue2_post_buffering (GstQueue2 * queue) /* FIXME: This situation above can still occur later if * the sink pad is waiting to push a serialized event into the queue and * the queue becomes empty for a short period of time. */ - if (!queue->waiting_del + if ((!queue->waiting_del || queue->buffering_percent == 100) && queue->last_posted_buffering_percent != queue->buffering_percent) { percent = queue->buffering_percent;