aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends
Commit message (Collapse)AuthorAgeFilesLines
* 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-311-169/+520
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* 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
* Avoid using al::vector unnecessarilyChris Robinson2023-05-1210-40/+42
|
* Clean up some more includesChris Robinson2023-05-128-18/+19
|
* Use some more standard functionsChris Robinson2023-05-051-6/+6
|
* Remove custom stuff for standardChris Robinson2023-05-043-5/+5
|
* Avoid defining separate wrapper functionsChris Robinson2023-05-041-32/+16
|
* Use std::byte instead of a custom al::byteChris Robinson2023-05-0416-59/+54
|
* Make and use a bit_cast functionChris Robinson2023-05-047-12/+18
| | | | Instead of reinterpret_casting between incompatible types
* Update ComPtr and use an out_ptr() functionChris Robinson2023-05-042-50/+32
|
* Replace al::optional with std::optionalChris Robinson2023-05-045-10/+7
|
* Handle signed int values holding FourCC codesChris Robinson2023-04-261-0/+1
|
* Print CoreAudio errors as FourCC codes when possibleChris Robinson2023-04-261-43/+58
|
* Check the correct device property to detect headphonesChris Robinson2023-04-251-3/+3
|
* Try to detect headphones with CoreAudioChris Robinson2023-04-241-0/+18
|
* Recognize I24 and I32 formats from OboeChris Robinson2023-03-151-1/+15
|
* Allow Oboe to resample when requesting a sample rateChris Robinson2023-03-151-0/+3
|
* Use macros for the likely/unlikely attributesChris Robinson2023-03-014-69/+70
| | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places.
* Check a string for NULL before calling strtoullChris Robinson2023-02-111-8/+9
|
* Distinguish a couple log messagesChris Robinson2023-01-301-3/+3
| | | | And downgrade an ERR to a WARN
* Use the object serial ID from PipeWire when availableChris Robinson2023-01-241-21/+47
| | | | | | | | | | | Using the node ID as a target is deprecated in newer versions of PipeWire. The serial ID is a monotonic 64-bit integer ID, incremeneted for every object created, so is guaranteed to always refer to the same target (until it wraps around, which I suppose isn't expected/allowed to happen), compared to the 32-bit node ID which I guess allows reuse. We could instead use the target node's name instead of the serial ID, but an integer is nicer to manage than a string.
* Change a couple macros to constexpr variablesChris Robinson2023-01-161-2/+2
|
* clang-tidy cleanups (#800)Rosen Penev2023-01-154-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * clang-tidy: use bool literals Found with modernize-use-bool-literals Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: replace std::bind with lambdas Found with modernize-avoid-bind Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use data() instead of pointer stuff Found with readability-container-data-pointe Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use empty() Found with readability-container-size-empty Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove static in anon namespace Found with readability-static-definition-in-anonymous-namespace Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove const return Found with readability-const-return-type Signed-off-by: Rosen Penev <[email protected]> Signed-off-by: Rosen Penev <[email protected]>
* Don't explicitly try to spawn servers by defaultChris Robinson2023-01-142-2/+2
|
* Avoid using a non-0 span length over nullptrChris Robinson2023-01-131-17/+32
|
* Write proper samples when starting the PulseAudio streamChris Robinson2023-01-131-17/+3
| | | | | Instead of silence, to ensure the number of samples written to PulseAudio is the same as the number mixed/rendered.
* Avoid single-use static class method wrappersChris Robinson2023-01-131-81/+46
|
* Avoid unnecessary uses of make_optionalChris Robinson2023-01-131-2/+4
|
* Fix RingBuffer crash in OpenSL backend (#807)IamSN0WBALL2023-01-121-1/+1
| | | Co-authored-by: IamSN0WBALL <[email protected]>
* Don't rely on mRateMatch while waiting for PipeWire timing infoChris Robinson2023-01-091-5/+2
|
* Add an option to mix on PipeWire's non-RT threadChris Robinson2023-01-081-14/+14
|
* Avoid some explicit casts and referencesChris Robinson2023-01-012-13/+15
|
* Avoid inlining certain exception functionsChris Robinson2022-12-162-7/+17
|
* Avoid extraneous temporaries when filling vectorsChris Robinson2022-12-152-8/+18
|
* Avoid setting PipeWire stream properties with separate callsChris Robinson2022-12-061-12/+11
|
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-064-27/+27
|
* Avoid LIKELY/UNLIKELY macrosChris Robinson2022-12-053-16/+16
|
* Use standard likely/unlikely attributes when availableChris Robinson2022-12-052-11/+11
|
* Use the correct variable for reading the WASAPI playback rateChris Robinson2022-12-051-2/+2
|
* Fix building with PipeWire 0.3.49 and earlierChris Robinson2022-12-021-0/+19
|