diff options
author | MathiusD <[email protected]> | 2023-11-26 03:33:00 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2023-11-26 02:33:00 +0000 |
commit | c03603b58d4cf6a25d36bca00305970bc9f163b4 (patch) | |
tree | 5f6f2944daf11a43779e8a483c749b190d11fc55 /alc/backends/wasapi.cpp | |
parent | 1f6d19fd4a4fec15da4181a40ed443174bb95384 (diff) |
Add query fonction in ALC_SOFT_system_events unreleased extension (#938)
* feat(ALC_SOFT_system_events): Add alcEventIsSupportedSOFT method in ALC_SOFT_system_events unreleased extension
The purpose of this addition (to my collection) are allow to retrieve which events are supported and if events are fully supported or if some case isn't managed for some reason
For exemple only some backends provide system events:
* pipewire -> Full support of extension
* wasapi -> Full support of extension
* pulseaudio -> Support of add and remove devices events only
* coreaudio -> Support of default device change only
* feat(ALC_SOFT_system_events): Fix typo in alext.h
Cf following review : https://github.com/kcat/openal-soft/pull/938#discussion_r1404509828
* feat(ALC_SOFT_system_events): Remove ALC_EVENT_NOT_SUPPORTED_SOFT token
Cf following discussions between this comment : https://github.com/kcat/openal-soft/pull/938#issuecomment-1825876452 to this comment : https://github.com/kcat/openal-soft/pull/938#issuecomment-1826419406
Diffstat (limited to 'alc/backends/wasapi.cpp')
-rw-r--r-- | alc/backends/wasapi.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/alc/backends/wasapi.cpp b/alc/backends/wasapi.cpp index 37151ef9..a4d6ea2f 100644 --- a/alc/backends/wasapi.cpp +++ b/alc/backends/wasapi.cpp @@ -60,7 +60,6 @@ #include "albit.h" #include "alc/alconfig.h" -#include "alc/events.h" #include "alnumeric.h" #include "alspan.h" #include "althrd_setname.h" @@ -2741,3 +2740,19 @@ BackendFactory &WasapiBackendFactory::getFactory() static WasapiBackendFactory factory{}; return factory; } + +alc::EventSupport WasapiBackendFactory::queryEventSupport(alc::EventType eventType, BackendType type) +{ + switch(eventType) { + case alc::EventType::DefaultDeviceChanged: { + return alc::EventSupport::FullSupport; + } + case alc::EventType::DeviceAdded: { + return alc::EventSupport::FullSupport; + } + case alc::EventType::DeviceRemoved: { + return alc::EventSupport::FullSupport; + } + } + return alc::EventSupport::NoSupport; +} |