mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-15 22:01:27 +00:00
b6584defd0
The following problem could happen: * Thread 1 : urisourcebin gets activated from READY->PAUSED * Thread 2 : some element causes a pad to be added to urisourcebin , which gets linked downstream, which decides to activate upstream to pull-based. * That requires "activating" the pads from PUSH to NONE, and then from NONE to PULL * Thread 1 : the base class state change handlers checks if all pads are activated The issue is that since going form PUSH to PULL requires going through NONE, there is a window during which: * Thread 1 : The pad was set to NONE (before being set to PULL) * Thread 2 : The base class activates that pad (to PUSH) * Thread 1 : The attempt to "activate" to PULL fails (silently or not) This is very racy, so in order to avoid that, we make sure that we only add pads once the transition from READY->PAUSED in the parent classes is done. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784> |
||
---|---|---|
.. | ||
gst-devtools | ||
gst-docs | ||
gst-editing-services | ||
gst-examples | ||
gst-integration-testsuites | ||
gst-libav | ||
gst-omx | ||
gst-plugins-bad | ||
gst-plugins-base | ||
gst-plugins-good | ||
gst-plugins-ugly | ||
gst-python | ||
gst-rtsp-server | ||
gstreamer | ||
gstreamer-sharp | ||
gstreamer-vaapi | ||
macos-bison-binary | ||
packagefiles/pango-1.48.11 | ||
win-flex-bison-binaries | ||
win-nasm | ||
avtp.wrap | ||
bindinator.wrap | ||
cairo.wrap | ||
dav1d.wrap | ||
dssim.wrap | ||
dv.wrap | ||
expat.wrap | ||
fdk-aac.wrap | ||
FFmpeg.wrap | ||
fontconfig.wrap | ||
freetype2.wrap | ||
fribidi.wrap | ||
gl-headers.wrap | ||
glib-networking.wrap | ||
glib.wrap | ||
graphene.wrap | ||
gst-plugins-rs.wrap | ||
gtk-sharp.wrap | ||
harfbuzz.wrap | ||
json-glib.wrap | ||
lame.wrap | ||
libdrm.wrap | ||
libffi.wrap | ||
libjpeg-turbo.wrap | ||
libmicrodns.wrap | ||
libnice.wrap | ||
libopenjp2.wrap | ||
libpng.wrap | ||
libpsl.wrap | ||
libsoup.wrap | ||
libwpe.wrap | ||
libxml2.wrap | ||
ogg.wrap | ||
openh264.wrap | ||
opus.wrap | ||
orc.wrap | ||
pango.wrap | ||
pixman.wrap | ||
proxy-libintl.wrap | ||
pycairo.wrap | ||
pygobject.wrap | ||
sqlite3.wrap | ||
vorbis.wrap | ||
webrtc-audio-processing.wrap | ||
wpebackend-fdo.wrap | ||
x264.wrap | ||
zlib.wrap |