gstreamer/subprojects
Nirbheek Chauhan 29098aeba8 gstdevice: Fetch device provider from message source
The GstDevice removed may not have a parent anymore when we check
whether the provider is hidden. Let's fetch the provider from the
message source, which is more reliable.

Fixes a racy nullptr deref on macOS when a device is unplugged:

```
libgstreamer-1.0.0.dylib!is_provider_hidden (gstreamer/subprojects/gstreamer/gst/gstdevicemonitor.c:240)
libgstreamer-1.0.0.dylib!bus_sync_message (gstreamer/subprojects/gstreamer/gst/gstdevicemonitor.c:286)
libgstreamer-1.0.0.dylib!gst_bus_post (gstreamer/subprojects/gstreamer/gst/gstbus.c:358)
libgstreamer-1.0.0.dylib!gst_device_provider_device_remove (gstreamer/subprojects/gstreamer/gst/gstdeviceprovider.c:685)
libgstosxaudio.dylib!gst_osx_audio_device_provider_update_devices ([...]/sys/osxaudio/gstosxaudiodeviceprovider.c:539)
libgstosxaudio.dylib!_audio_devices_changed_cb ([...]/sys/osxaudio/gstosxaudiodeviceprovider.c:313)
CoreAudio!HALObject::PropertiesChanged(unsigned int, AudioObjectPropertyAddress const*) (Unknown Source:0)
CoreAudio!HALSystem::PropertiesChanged(unsigned int, AudioObjectPropertyAddress const*) (Unknown Source:0)
CoreAudio!HALSystem::ObjectsPublishedAndDied(...) (Unknown Source:0)
CoreAudio!HALSystem::AudioObjectsPublishedAndDied(...) (Unknown Source:0)
CoreAudio!HALC_ShellPlugIn::ReconcileDeviceList(bool, bool) (Unknown Source:0)
CoreAudio!HALC_ShellPlugIn::CreateAggregateDevice(__CFDictionary const*, unsigned int&) (Unknown Source:0)
CoreAudio!AudioHardwareCreateAggregateDevice_mac_imp (Unknown Source:0)
AudioDSP!___lldb_unnamed_symbol15046 (Unknown Source:0)
AudioDSP!___lldb_unnamed_symbol15038 (Unknown Source:0)
AudioDSP!___lldb_unnamed_symbol33307 (Unknown Source:0)
AudioToolboxCore!APComponent::newInstance(...) (Unknown Source:0)
AudioToolboxCore!instantiate(...) (Unknown Source:0)
AudioToolboxCore!__AudioComponentInstanceNew_block_invoke (Unknown Source:0)
AudioToolboxCore!Synchronously (Unknown Source:0)
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8320>
2025-01-20 15:44:20 +05:30
..
gst-devtools docs: generate hotdoc configs for libraries with our helper script 2025-01-17 20:36:06 +01:00
gst-docs docs: generate hotdoc configs for libraries with our helper script 2025-01-17 20:36:06 +01:00
gst-editing-services docs: generate hotdoc configs for libraries with our helper script 2025-01-17 20:36:06 +01:00
gst-examples Back to development after 1.25.1 2025-01-14 15:00:43 +00:00
gst-integration-testsuites meson: bump minimum version to 1.4 in every subprojects 2025-01-17 20:22:34 +01:00
gst-libav avaudenc: add test for misaligned audio input buffers 2025-01-20 08:58:01 +00:00
gst-plugins-bad nvcodec: Add cudacompositor element 2025-01-20 01:12:21 +09:00
gst-plugins-base docs: generate hotdoc configs for libraries with our helper script 2025-01-17 20:36:06 +01:00
gst-plugins-good docs: generate hotdoc configs for libraries with our helper script 2025-01-17 20:36:06 +01:00
gst-plugins-ugly docs: generate hotdoc configs for libraries with our helper script 2025-01-17 20:36:06 +01:00
gst-python meson: bump minimum version to 1.4 in every subprojects 2025-01-17 20:22:34 +01:00
gst-rtsp-server docs: generate hotdoc configs for libraries with our helper script 2025-01-17 20:36:06 +01:00
gstreamer gstdevice: Fetch device provider from message source 2025-01-20 15:44:20 +05:30
gstreamer-sharp meson: bump minimum version to 1.4 in every subprojects 2025-01-17 20:22:34 +01:00
gstreamer-vaapi meson: bump minimum version to 1.4 in every subprojects 2025-01-17 20:22:34 +01:00
macos-bison-binary
packagefiles subprojects: ntv2: Add check for libudev 2024-12-04 18:29:34 +00:00
webview2
win-flex-bison-binaries
win-nasm
win-pkgconfig
avtp.wrap
cairo.wrap cairo.wrap: Update to 1.18.2 and fix MSYS2 build 2024-11-06 17:20:37 +00:00
dav1d.wrap
DirectX-Headers.wrap
directxmath.wrap
dssim.wrap
dv.wrap
expat.wrap
fdk-aac.wrap
FFmpeg.wrap subprojects: Update ffmpeg to 7.1 2024-11-07 10:38:08 +00:00
flac.wrap
fontconfig.wrap
freetype2.wrap
fribidi.wrap
gdk-pixbuf.wrap ci: Add a gdk-pixbuf file-based wrap for gtk4 2024-10-24 15:52:15 +05:30
gl-headers.wrap
glib-networking.wrap
glib.wrap subprojects: update glib wrap to 2.82.2 2024-10-26 14:33:11 +03:00
gobject-introspection.wrap
graphene.wrap
gst-plugins-rs.wrap Back to development after 1.25.1 2025-01-14 15:00:43 +00:00
gtk-sharp.wrap
gtk.wrap meson: Bump gtk4 and pango wraps 2024-08-17 15:00:11 +05:30
harfbuzz.wrap
json-glib.wrap subprojects: add fallback_urls for json-glib and pygobject wraps 2024-11-07 13:43:29 +00:00
lame.wrap
libdrm.wrap
libffi.wrap
libgudev.wrap wraps: libgudev: add fallback uri 2024-07-24 11:44:28 +00:00
libjpeg-turbo.wrap
liblc3.wrap subprojects: update liblc3 wrap to 1.1.1 2024-06-28 13:38:36 +01:00
libmicrodns.wrap
libnice.wrap
libopenjp2.wrap meson: Update openjpeg wrap to 2.5.2, fixes a warning 2024-09-10 14:59:36 +00:00
libpng.wrap
libpsl.wrap
libsoup.wrap subprojects: Fix libsoup build on windows with gcc14 2024-08-14 04:34:28 +00:00
libsrtp2.wrap
libva.wrap
libwpe.wrap
libxml2.wrap
ntv2.wrap ntv2: Update to AJA NTV2 SDK 17.1.0 2024-09-27 16:43:37 +00:00
ogg.wrap
openh264.wrap subprojects: update openh264 to 2.4.1 2024-09-08 15:31:27 +00:00
opus.wrap subprojects: bump opus wrap to 1.5.2 2024-06-22 12:26:22 +01:00
orc.wrap
pango.wrap meson: Bump gtk4 and pango wraps 2024-08-17 15:00:11 +05:30
pcre2.wrap
pixman.wrap
proxy-libintl.wrap
pycairo.wrap
pygobject.wrap subprojects: add fallback_urls for json-glib and pygobject wraps 2024-11-07 13:43:29 +00:00
soundtouch.wrap
sqlite3.wrap
vorbis.wrap
vpx.wrap subprojects: bump libvpx wrap to 1.14 2024-08-14 04:34:27 +00:00
wayland-protocols.wrap
webrtc-audio-processing.wrap
wpebackend-fdo.wrap
x264.wrap
zlib.wrap