gstreamer/subprojects
Edward Hervey b6584defd0 urisourcebin: Only expose pads once activation has completed
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>
2022-11-16 14:01:46 +00:00
..
gst-devtools validate-scenario: Avoid timeouts on EOS 2022-11-15 07:47:49 +01:00
gst-docs nvcodec: Update plugin cache 2022-11-15 16:25:45 +00:00
gst-editing-services Back to development 2022-11-08 02:08:08 +00:00
gst-examples Back to development 2022-11-08 02:08:08 +00:00
gst-integration-testsuites Back to development 2022-11-08 02:08:08 +00:00
gst-libav avviddec: Report a latency even without upstream framerate 2022-11-16 10:42:18 +00:00
gst-omx Back to development 2022-11-08 02:08:08 +00:00
gst-plugins-bad tsdemux: Push GST_EVENT_STREAM_COLLECTION 2022-11-16 14:01:46 +00:00
gst-plugins-base urisourcebin: Only expose pads once activation has completed 2022-11-16 14:01:46 +00:00
gst-plugins-good adaptivedemux2: Notify that we are streams-aware 2022-11-16 14:01:46 +00:00
gst-plugins-ugly Back to development 2022-11-08 02:08:08 +00:00
gst-python Back to development 2022-11-08 02:08:08 +00:00
gst-rtsp-server gst-rtsp-server: compile example for onvif backchannel testing 2022-11-10 13:04:04 +02:00
gstreamer typefindhelper: Fix docs/annotations for the new functions 2022-11-16 04:07:09 +00:00
gstreamer-sharp Back to development 2022-11-08 02:08:08 +00:00
gstreamer-vaapi vaapi: Use gst_video_orientation_from_tag to parse orientation 2022-11-11 06:45:48 +00:00
macos-bison-binary meson: Fix warning about check kwarg 2022-07-16 06:16:17 +00:00
packagefiles/pango-1.48.11 harfbuzz.wrap: Fix wrap type, and remove unnecessary patch 2022-07-29 19:56:11 +00:00
win-flex-bison-binaries meson: Use run_command check: true for windows binary subprojects 2022-10-19 04:05:05 +00:00
win-nasm meson: Use run_command check: true for windows binary subprojects 2022-10-19 04:05:05 +00:00
avtp.wrap subprojects/avtp: Update to latest avtp 0.2.0 2022-03-18 22:49:16 +00:00
bindinator.wrap
cairo.wrap subprojects: cairo: bump to 1.17.6 2022-09-17 22:41:40 +00:00
dav1d.wrap
dssim.wrap
dv.wrap
expat.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
fdk-aac.wrap
FFmpeg.wrap
fontconfig.wrap subprojects: fontconfig: bump to 2.14.0 2022-09-17 22:41:40 +00:00
freetype2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
fribidi.wrap subprojects: fribidi: bump to 1.0.12 2022-09-17 22:41:40 +00:00
gl-headers.wrap
glib-networking.wrap subprojects: glib, glib-networking: bump to 2.72 2022-09-17 22:41:40 +00:00
glib.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
graphene.wrap
gst-plugins-rs.wrap Back to development 2022-11-08 02:08:08 +00:00
gtk-sharp.wrap
harfbuzz.wrap subprojects: harfbuzz: bump to 5.2.0 2022-09-17 22:41:40 +00:00
json-glib.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
lame.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00
libdrm.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libffi.wrap
libjpeg-turbo.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libmicrodns.wrap subprojects: libmicrodns: bump to 0.2.0 + meson fixes 2022-09-17 22:41:40 +00:00
libnice.wrap subprojects: Update libnice to 0.1.19 2022-05-03 18:49:36 -04:00
libopenjp2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libpng.wrap
libpsl.wrap
libsoup.wrap meson: Update libsoup.wrap 2022-10-11 14:53:40 -04:00
libwpe.wrap
libxml2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
ogg.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
openh264.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
opus.wrap
orc.wrap subprojects: orc: bump to 0.4.33 2022-10-31 23:50:28 +00:00
pango.wrap subprojects: pango: bump to 1.50.10 2022-09-17 22:41:40 +00:00
pixman.wrap
proxy-libintl.wrap Update proxy-libintl wrap to 0.4 2022-04-22 15:36:40 +00:00
pycairo.wrap
pygobject.wrap build: Fix some compiler warnings by upgrading wraps 2022-07-31 16:28:25 +05:30
sqlite3.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
vorbis.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00
webrtc-audio-processing.wrap
wpebackend-fdo.wrap
x264.wrap
zlib.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00