aboutsummaryrefslogtreecommitdiffstats
path: root/alc
Commit message (Collapse)AuthorAgeFilesLines
...
* Directly inline a couple functionsChris Robinson2023-06-061-189/+174
|
* Avoid explicit definitions of some IIDsChris Robinson2023-06-051-3/+3
|
* Fix return value for UWP buildsChris Robinson2023-06-051-3/+3
|
* Handle device added/removed events with WASAPIChris Robinson2023-06-051-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 mutexChris Robinson2023-06-041-48/+82
|
* Use the correct IID for the interface we useChris Robinson2023-06-031-7/+9
|
* Try again to fix UWP buildsChris Robinson2023-06-021-2/+2
|
* Fix UWP buildsChris Robinson2023-06-021-26/+20
|
* Fix comment typoChris Robinson2023-06-021-1/+1
|
* Start the WASAPI COM thread when initializing the backendChris Robinson2023-06-021-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 alcGetEnumValueChris Robinson2023-06-021-2/+0
|
* Remove an unused lambdaChris Robinson2023-06-011-8/+2
|
* Use cinttypes instead of inttypes.h in C++Chris Robinson2023-06-012-2/+2
|
* Rename threads.cpp/h to alsem.cpp/hChris Robinson2023-06-017-7/+3
|
* Move althrd_setname to its own sourceChris Robinson2023-06-0111-9/+12
|
* Define FORCE_ALIGN in config.hChris Robinson2023-06-011-3/+9
|
* Specify the device type for the event callbackChris Robinson2023-06-017-45/+86
|
* Handle device added/removed events with PulseAudioChris Robinson2023-06-011-0/+42
|
* Add a context to PulseMainloopChris Robinson2023-06-011-84/+64
|
* Add a comment explaining the DeviceAdded logic for PipeWireChris Robinson2023-06-011-1/+10
|
* Report device change events from CoreAudio (#856)Deal(一线灵)2023-06-011-1/+50
| | | | | | | | | * Report device change events from CoreAudio * Fix compile error * Use optional * Use optional, no unique_ptr
* Include IOAudioTypes.h only when neededChris Robinson2023-05-311-4/+3
|
* Report device change events from PipeWireChris Robinson2023-05-311-34/+91
|
* Initialize the WASAPI device helper earlierChris Robinson2023-05-311-2/+3
|
* Don't register per-device default change handlersChris Robinson2023-05-311-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-312-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 declarationChris Robinson2023-05-301-2/+2
|
* Move the function and enum list to a separate fileChris Robinson2023-05-302-864/+878
|
* Add a callback to report system device changesChris Robinson2023-05-305-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 captureChris Robinson2023-05-301-2/+1
|
* Don't throw when failing to stop Oboe playbackChris Robinson2023-05-251-2/+1
|
* Improve oboe backend (#848)Deal(一线灵)2023-05-251-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 manglingChris Robinson2023-05-241-4/+2
|
* Use a string_view for handling debug messagesChris Robinson2023-05-232-5/+5
|
* Make the API functions noexceptChris Robinson2023-05-222-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 APIChris Robinson2023-05-142-0/+3
|
* Implement direct functions for EFXChris Robinson2023-05-141-0/+34
|
* Implement direct functions for the debug APIChris Robinson2023-05-142-0/+19
|
* Implement direct functions for the listener and eventsChris Robinson2023-05-141-0/+15
|
* Add more direct functions to the function tableChris Robinson2023-05-141-0/+66
|
* Implement direct functions for buffersChris Robinson2023-05-141-0/+8
|
* Implement direct functions for extension queries and EAXChris Robinson2023-05-142-14/+21
|
* Implement direct functions for context stateChris Robinson2023-05-141-0/+22
|
* Declare "direct" context functions for a future extensionChris Robinson2023-05-131-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.
* Avoid using al::vector unnecessarilyChris Robinson2023-05-1216-60/+63
|
* Clean up some more includesChris Robinson2023-05-128-18/+19
|
* Use a variant for AsyncEventChris Robinson2023-05-081-15/+16
|
* Send a debug message when disconnectingChris Robinson2023-05-081-9/+6
|
* Store extension strings individuallyChris Robinson2023-05-082-91/+82
| | | | And dynamically build the full AL_EXTENSIONS string
* Use more appropriate types for some enumsChris Robinson2023-05-061-1/+2
|