gstreamer/sys/wasapi
Seungha Yang 589ff8ca6d wasapideviceprovider: Add support for dynamic device add/remove
Adding IMMDeviceEnumerator::RegisterEndpointNotificationCallback
in order to support device monitoring.
On OnDeviceAdded(), OnDeviceRemoved(), and OnDefaultDeviceChanged()
callback, wasapi device provider implementation will enumerate
devices again and will notify newly added and removed device
via GstDeviceProvider API.

As a bonus point, this IMMDeviceEnumerator abstraction object
will spawn a dedicated internal COM thread, so various COM thread
related issues of WASAPI plugin can be resolved by this commit.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1649
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1110
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2484>
2021-09-21 17:34:35 +00:00
..
gstaudioclient3.h wasapi: Fix build with Windows 8.1 SDK 2018-08-08 01:03:53 +05:30
gstmmdeviceenumerator.cpp wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstmmdeviceenumerator.h wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstwasapi.c wasapi: Increase rank to prefer over directsoundsrc 2018-03-01 15:33:18 +05:30
gstwasapidevice.c wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstwasapidevice.h wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstwasapisink.c wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstwasapisink.h wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstwasapisrc.c wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstwasapisrc.h wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstwasapiutil.c wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
gstwasapiutil.h wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00
meson.build wasapideviceprovider: Add support for dynamic device add/remove 2021-09-21 17:34:35 +00:00