Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Set the correct dev format when autodetecting 7.1.4 in WASAPI | Chris Robinson | 2023-06-27 | 1 | -1/+1 |
| | |||||
* | Use inline variables instead of functions with static variables | Chris Robinson | 2023-06-14 | 3 | -46/+46 |
| | |||||
* | Trace the surround decoder being used | Chris Robinson | 2023-06-12 | 1 | -9/+20 |
| | |||||
* | Fix disabling debug events | Chris Robinson | 2023-06-12 | 1 | -1/+1 |
| | |||||
* | Get the correct audio client interface with UWP | Chris Robinson | 2023-06-07 | 1 | -24/+16 |
| | |||||
* | Remove a seemingly unnecessary C++/CLI wrapper | Chris Robinson | 2023-06-06 | 1 | -18/+9 |
| | |||||
* | Directly inline a couple functions | Chris Robinson | 2023-06-06 | 1 | -189/+174 |
| | |||||
* | Avoid explicit definitions of some IIDs | Chris Robinson | 2023-06-05 | 1 | -3/+3 |
| | |||||
* | Fix return value for UWP builds | Chris Robinson | 2023-06-05 | 1 | -3/+3 |
| | |||||
* | Handle device added/removed events with WASAPI | Chris Robinson | 2023-06-05 | 1 | -90/+181 |
| | | | | | Non-UWP only for now. The device list is managed dynamically now so it doesn't need to be probed for each enumeration query. | ||||
* | Better protect the WASAPI device list with a mutex | Chris Robinson | 2023-06-04 | 1 | -48/+82 |
| | |||||
* | Use the correct IID for the interface we use | Chris Robinson | 2023-06-03 | 1 | -7/+9 |
| | |||||
* | Try again to fix UWP builds | Chris Robinson | 2023-06-02 | 1 | -2/+2 |
| | |||||
* | Fix UWP builds | Chris Robinson | 2023-06-02 | 1 | -26/+20 |
| | |||||
* | Fix comment typo | Chris Robinson | 2023-06-02 | 1 | -1/+1 |
| | |||||
* | Start the WASAPI COM thread when initializing the backend | Chris Robinson | 2023-06-02 | 1 | -125/+38 |
| | | | | | | | | | | | | | COM doesn't make this easy. We want to be able to get device change notifications without an open device, but we need an IMMDeviceEnumerator object to register the notification client, which requires COM to be initialized. COM must then stay initialized while we have the IMMDeviceEnumerator object, which we can't assume for the calling thread so it has to be done in the COM thread. Consequently, the COM thread must stay alive and can't quit while the DLL is loaded if we want to get those notifications without an open device, and as there's no reliable way to make the thread quit during DLL unload, the DLL must stay pinned until process exit. | ||||
* | Don't initialize in alcGetProcAddress or alcGetEnumValue | Chris Robinson | 2023-06-02 | 1 | -2/+0 |
| | |||||
* | Remove an unused lambda | Chris Robinson | 2023-06-01 | 1 | -8/+2 |
| | |||||
* | Use cinttypes instead of inttypes.h in C++ | Chris Robinson | 2023-06-01 | 2 | -2/+2 |
| | |||||
* | Rename threads.cpp/h to alsem.cpp/h | Chris Robinson | 2023-06-01 | 7 | -7/+3 |
| | |||||
* | Move althrd_setname to its own source | Chris Robinson | 2023-06-01 | 11 | -9/+12 |
| | |||||
* | Define FORCE_ALIGN in config.h | Chris Robinson | 2023-06-01 | 1 | -3/+9 |
| | |||||
* | Specify the device type for the event callback | Chris Robinson | 2023-06-01 | 7 | -45/+86 |
| | |||||
* | Handle device added/removed events with PulseAudio | Chris Robinson | 2023-06-01 | 1 | -0/+42 |
| | |||||
* | Add a context to PulseMainloop | Chris Robinson | 2023-06-01 | 1 | -84/+64 |
| | |||||
* | Add a comment explaining the DeviceAdded logic for PipeWire | Chris Robinson | 2023-06-01 | 1 | -1/+10 |
| | |||||
* | Report device change events from CoreAudio (#856) | Deal(一线灵) | 2023-06-01 | 1 | -1/+50 |
| | | | | | | | | | * Report device change events from CoreAudio * Fix compile error * Use optional * Use optional, no unique_ptr | ||||
* | Include IOAudioTypes.h only when needed | Chris Robinson | 2023-05-31 | 1 | -4/+3 |
| | |||||
* | Report device change events from PipeWire | Chris Robinson | 2023-05-31 | 1 | -34/+91 |
| | |||||
* | Initialize the WASAPI device helper earlier | Chris Robinson | 2023-05-31 | 1 | -2/+3 |
| | |||||
* | Don't register per-device default change handlers | Chris Robinson | 2023-05-31 | 1 | -128/+83 |
| | | | | | It's global state with a global callback. No need to associate it with each open device. | ||||
* | Improve wasapi backend UWP support (#853) | Deal(一线灵) | 2023-05-31 | 2 | -171/+528 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Improve wasapi, support uwp build * Fix compile errors * [UWP] Support ReadALConfig from app roaming * [UWP] Post disconnect event when default device changed * [UWP] Fix appveyor ci * [WIN32] Default device change notification support * Fix warnings * Add event to notify the app when the default device changes - Event type: AL_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT=0x19A7 - Event callback parameters: void _onALSoftEvent(ALenum eventType, ALuint object, // dataFlow: 0(render), 1(capture) ALuint param, // 0 ALsizei length, // 0 const ALchar* message, // Default device changed:<deviceId> void* userParam); * Fix warnings * Fire default device changed event in mixerProc thread * Fix compile warning * [UWP] Improve cmake * Revert changes * Notify default device change by system event callback * Revert insignificant change * Remove duplicate call | ||||
* | Fix alc::Event declaration | Chris Robinson | 2023-05-30 | 1 | -2/+2 |
| | |||||
* | Move the function and enum list to a separate file | Chris Robinson | 2023-05-30 | 2 | -864/+878 |
| | |||||
* | Add a callback to report system device changes | Chris Robinson | 2023-05-30 | 5 | -24/+182 |
| | | | | | Devices being added or removed, or the default device changing. Not all backends report this (none do currently), but it'll be supported where it can. | ||||
* | Don't throw when failing to stop Oboe capture | Chris Robinson | 2023-05-30 | 1 | -2/+1 |
| | |||||
* | Don't throw when failing to stop Oboe playback | Chris Robinson | 2023-05-25 | 1 | -2/+1 |
| | |||||
* | Improve oboe backend (#848) | Deal(一线灵) | 2023-05-25 | 1 | -1/+9 |
| | | | | | | | * Improve oboe backend This change should handle handphone call event properly and fix crash at stop (because the mStream was disconnected by system when handphone call income) * Invoke mDevice->handleDisconnect when AAudio stream disconnected | ||||
* | Be a bit more safe with type mangling | Chris Robinson | 2023-05-24 | 1 | -4/+2 |
| | |||||
* | Use a string_view for handling debug messages | Chris Robinson | 2023-05-23 | 2 | -5/+5 |
| | |||||
* | Make the API functions noexcept | Chris Robinson | 2023-05-22 | 2 | -444/+381 |
| | | | | | | | | | | | Only relevant for C++, but these functions can't throw as it's a C-based API. Letting the compiler know that helps improve code generation. Extension callbacks must also not let exceptions leave the callback, or else Bad Things can happen. The macro AL_DISABLE_NOEXCEPT may be defined before including the headers to not mark functions as noexcept, but this should only be done if the caller can't otherwise be fixed. | ||||
* | Add extension strings for the in-progress direct API | Chris Robinson | 2023-05-14 | 2 | -0/+3 |
| | |||||
* | Implement direct functions for EFX | Chris Robinson | 2023-05-14 | 1 | -0/+34 |
| | |||||
* | Implement direct functions for the debug API | Chris Robinson | 2023-05-14 | 2 | -0/+19 |
| | |||||
* | Implement direct functions for the listener and events | Chris Robinson | 2023-05-14 | 1 | -0/+15 |
| | |||||
* | Add more direct functions to the function table | Chris Robinson | 2023-05-14 | 1 | -0/+66 |
| | |||||
* | Implement direct functions for buffers | Chris Robinson | 2023-05-14 | 1 | -0/+8 |
| | |||||
* | Implement direct functions for extension queries and EAX | Chris Robinson | 2023-05-14 | 2 | -14/+21 |
| | |||||
* | Implement direct functions for context state | Chris Robinson | 2023-05-14 | 1 | -0/+22 |
| | |||||
* | Declare "direct" context functions for a future extension | Chris Robinson | 2023-05-13 | 1 | -0/+315 |
| | | | | | These functions will allow making AL calls using the specified context, rather than having to set a "current" context for subsequent AL calls to use. |