gstreamer/subprojects/gst-plugins-base/gst/playback
Edward Hervey f7d6822589 urisourcebin: Avoid deadlock on shutdown
The reason why the STATE lock was taken was to avoid issues where we would be
adding (and activating) elements at the same time as urisourcebin would be
brought down to READY. That would cause those new elements to potentially return
ERRORS because of not-negotiated/flushing-pads

But that creates a really bad deadlock (state lock is taken to deactivate the
streaming thread which .. is currently grabbing the state lock).

Instead, we can just ignore the warning/error messages that might occur when
shutting down.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4075

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8162>
2024-12-20 08:01:01 +00:00
..
gstdecodebin2.c common: Stop using GQuark-based GstStructure name API 2024-09-26 19:21:29 +03:00
gstdecodebin3.c decodebin3: Make usage of static sink pad optional 2024-12-10 08:47:43 +00:00
gstparsebin.c parsebin: Store caps on parsepad as early as possible 2024-10-28 10:09:47 +00:00
gstplay-enum.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplay-enum.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaybackelement.c Replace gst-i18n-*.h with gi18n-lib.h 2022-04-19 18:01:06 +00:00
gstplaybackelements.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaybackplugin.c playback: Remove USE_PLAYBIN3 registration override 2024-03-04 12:23:34 +01:00
gstplaybackutils.c playbackutils: Fix caps leak in get_n_common_capsfeatures() 2024-11-16 18:24:23 +00:00
gstplaybackutils.h playback: Improve stream list search 2024-10-28 10:09:47 +00:00
gstplaybin2.c playback: remove mention of gconf sinks from playbin docs 2024-10-19 06:12:14 +00:00
gstplaybin3.c playback: remove mention of gconf sinks from playbin docs 2024-10-19 06:12:14 +00:00
gstplaysink.c common: Stop using GQuark-based GstStructure field name API 2024-09-26 19:21:29 +03:00
gstplaysink.h playbin3: Cleanup and refactor combiner sourcecombine 2022-05-06 09:10:09 +02:00
gstplaysinkaudioconvert.c playsink: Hold a reference to the soft volume element 2022-10-03 18:56:41 +00:00
gstplaysinkaudioconvert.h playsink: Hold a reference to the soft volume element 2022-10-03 18:56:41 +00:00
gstplaysinkconvertbin.c gst-plugins-base: re-indent with GNU indent 2.2.12 2023-03-17 03:18:53 +00:00
gstplaysinkconvertbin.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaysinkvideoconvert.c Replace gst-i18n-*.h with gi18n-lib.h 2022-04-19 18:01:06 +00:00
gstplaysinkvideoconvert.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstrawcaps.h playback: add onvif metadata caps to raw caps 2022-08-24 12:21:18 +03:00
gststreamsynchronizer.c streamsynchronizer: Only send GAP events out of source pads 2024-11-28 12:38:07 +00:00
gststreamsynchronizer.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstsubtitleoverlay.c subtitleoverlay: Check for memory capsfeature on video/x-raw 2024-10-30 06:13:23 +00:00
gstsubtitleoverlay.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gsturidecodebin.c playback: Support runtime change connection-speed of adaptivedemux(2) 2023-10-12 16:06:42 +00:00
gsturidecodebin3.c uridecodebin3: Don't use decodebin3 static sink pad 2024-12-10 08:47:43 +00:00
gsturisourcebin.c urisourcebin: Avoid deadlock on shutdown 2024-12-20 08:01:01 +00:00
meson.build meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00