From bc294bd89dc2d0117a446f68f805c91ff2be3687 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Mon, 26 Jun 2023 17:10:33 -0400 Subject: [PATCH] v4l2: videodec: Don't wait for src_ch if active If the capture pool is already active, like when handling gaps at the start of a stream, do not setup the decoder to wait for src_ch event. Otherwise the decoder will endup waiting for that at the wrong moment and exit the decoding thread unexpectedly. Part-of: --- subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c index 61e033083c..3019a09a13 100644 --- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c +++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c @@ -974,7 +974,8 @@ gst_v4l2_video_dec_handle_frame (GstVideoDecoder * decoder, gst_buffer_unref (codec_data); /* Only wait for source change if the formats supports it */ - if (self->v4l2output->fmtdesc->flags & V4L2_FMT_FLAG_DYN_RESOLUTION) { + if (!GST_V4L2_IS_ACTIVE (self->v4l2capture) && + self->v4l2output->fmtdesc->flags & V4L2_FMT_FLAG_DYN_RESOLUTION) { gst_v4l2_object_unlock_stop (self->v4l2capture); self->wait_for_source_change = TRUE; }