aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Don't prematurely change ALCdevice::BufferSizeChris Robinson2022-11-221-7/+11
|
* Fix WASAPI capture handling the background COM threadChris Robinson2022-11-191-18/+30
|
* Avoid a use-after-free in the ALSA backendChris Robinson2022-11-161-12/+12
|
* Use the correct frame size for WASAPI resamplingChris Robinson2022-11-131-2/+2
|
* Change a function to a static methodChris Robinson2022-11-132-4/+5
|
* Add a config option to prevent WASAPI from using a resamplerChris Robinson2022-11-121-1/+5
|
* Add a resampler to WASAPI outputChris Robinson2022-11-121-10/+75
| | | | | | | This allows mixing at various samples rates that WASAPI doesn't otherwise support. This is mostly helpful for users that have unnecessarily high device rates (96 or 192khz), and lets the ALC_FREQUENCY attribute or frequency config option set a lower mixing rate for more efficient processing.
* Dynamically start/stop the WASAPI message threadChris Robinson2022-11-121-86/+117
|
* Try to detect the update and buffer size from PipeWireChris Robinson2022-11-081-4/+45
|
* Make sure sio_write and sio_read return valid valuesChris Robinson2022-11-071-5/+12
|
* Add preliminary support for 7.1.4 output modesChris Robinson2022-11-0310-4/+88
| | | | | | | | I don't know how different sound APIs handle 7.1.4 ("Atmos" or "Auro3D") output, but currently it simply specifies the additional channels with the height channel labels. This isn't likely how it works for a virtualized channel bed, for playing over other with-height configurations (7.1.2, 5.1.4, etc), but this should be an okay start.
* Remove unnecessary includes and forward declarationsChris Robinson2022-09-231-7/+0
|
* Remove an unnecessary includeChris Robinson2022-09-221-1/+0
|
* Use PulseAudio's threaded mainloop instead of a custom oneChris Robinson2022-09-221-141/+160
|
* Fix the ringbuffer write sizeChris Robinson2022-08-181-1/+1
|
* Use an intermediate buffer for writing to the ringbufferChris Robinson2022-08-181-26/+11
| | | | | It doesn't seem as though AudioUnitRender likes being given two buffers to render/capture samples into segmented memory.
* Pass the action flags to AudioUnitRender from the callbackChris Robinson2022-08-171-3/+2
|