videodecoder: release stream lock after handling gap events
authorPhilippe Normand <philn@igalia.com>
Wed, 27 Apr 2022 09:18:39 +0000 (10:18 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 28 Apr 2022 07:12:28 +0000 (07:12 +0000)
The stream lock is taken before handling gap events but was not released in all
possible runtime situations. This issue was introduced in:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2307>

subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c

index f146fe3..0daedbd 100644 (file)
@@ -1492,6 +1492,7 @@ gst_video_decoder_sink_event_default (GstVideoDecoder * decoder,
          */
         forward_immediate = TRUE;
       } else {
+        GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
         gst_clear_event (&event);
       }
       break;