aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Implement PipeWire playbackChris Robinson2021-08-063-72/+439
| | | | | Not yet an auto-selected backend. This doesn't yet support enumeration, or matching the AL device format to the output.
* Start a PipeWire backendChris Robinson2021-08-025-0/+228
| | | | It's just a copy of the Null backend to start with
* Use an optional bool instead of two tri-state enumsChris Robinson2021-07-313-73/+49
|
* Fix al::optional operator*Chris Robinson2021-07-311-1/+1
|
* Use a higher quality all-pass for the UHJ utilsChris Robinson2021-07-302-8/+17
|
* Avoid 5.1Rear as its own channel configurationChris Robinson2021-07-3013-114/+27
| | | | | | It messes with 5.1 sources using direct channels, and the surround channels are supposed to map to the side labels. Individual backends can deal with the channel order/label differences, as they already do to a degree.
* Remove an unused variableChris Robinson2021-07-301-5/+3
|
* Be more robust with unexpected channel countsChris Robinson2021-07-304-34/+35
|
* Use non-block mode for sndio captureChris Robinson2021-07-301-47/+76
|
* Simplify channel handling in the sndio backendChris Robinson2021-07-291-89/+63
|
* Simplify connecting JACK portsChris Robinson2021-07-251-13/+11
|
* Set the CoreAudio stream according to the device channel formatChris Robinson2021-07-241-53/+19
|
* Remove a redundant buffer clearChris Robinson2021-07-241-11/+0
|
* Don't assume more than stereo for unrequested ALSA channelsChris Robinson2021-07-241-45/+35
| | | | | | If setting the requested format channel count fails, getting anything with 2 or more channels assumes the first two channels are stereo, leaving the rest silent.
* Fix the device sample type in the SDL2 backendChris Robinson2021-07-241-6/+6
|
* Ensure unused output channels are cleared when renderingChris Robinson2021-07-241-1/+12
|
* Still print a warning when DBus or Qt5 aren't foundChris Robinson2021-07-171-0/+13
| | | | | | | | This way merely avoids the several lines of spam when the config module isn't found, which there's otherwise no reasonable way to test for since they're provided by the package, which you need to use find_package to search for, which causes the spam. It's still useful to report the packages weren't found in case they were expected.
* Silence searching for Qt5Chris Robinson2021-07-171-1/+1
|
* Combine a couple similar switch blocksChris Robinson2021-07-171-77/+64
|
* Merge pull request #585 from nift4/masterkcat2021-07-171-1/+1
|\ | | | | CMakeLists: add QUIET to Dbus1 find_package()
| * CMakeLists: add QUIET to Dbus1 find_package()Nick (nift4)2021-07-171-1/+1
|/ | | * Android doesn't have dbus, logspam is annoying
* Use the 2D channel orders for 2- and 3-channel UHJChris Robinson2021-07-131-1/+2
|
* Read the channel format from the correct objectChris Robinson2021-07-131-2/+2
|
* Fix returned value for AL_AMBISONIC_SCALING_SOFT buffer queriesChris Robinson2021-07-131-1/+1
|
* Add a UHJ-specific coefficient scaling arrayChris Robinson2021-07-139-21/+40
|
* Attempt to support capture enumeration with CoreAudioChris Robinson2021-07-101-45/+72
|
* Use variables and types when they're definedChris Robinson2021-07-091-0/+6
|
* Don't define enumeration functions when they're not usedChris Robinson2021-07-091-16/+25
|
* Add a utility to encode audio files to UHJChris Robinson2021-07-092-0/+462
|
* Make OpenALConfig.cmake compatible with CMake's FindOpenAL.cmake (#581)Anonymous Maarten2021-07-062-4/+21
| | | | | | | * Make OpenALConfig.cmake compatible with CMake's FindOpenAL.cmake * Create and install OpenALConfigVersion.cmake * cmake: drop creating of OpenALConfigVersion.cmake
* Update the 5.1+center decoder and use it by defaultChris Robinson2021-06-302-38/+52
| | | | | | | The itu5.1-nocenter preset is the same as the previous default, so it can still be used for people that prefer it. But this new one purportedly has better panning and positioning responses in listening tests, which initial impressions concur with.
* Allow decoders to specify the coefficient scalingChris Robinson2021-06-251-6/+24
|
* Handle spaces in the ambdec descriptionChris Robinson2021-06-241-1/+1
|
* Don't attenuate spatialized multichannel sourcesChris Robinson2021-06-241-34/+9
| | | | | | | | It's inconsistent behavior with spatialized B-Format sources, and causes a very apparent gain disparity between such a source on the listener compared to just barely off-origin. It's also not something an app can easy correct for if it doesn't want that behavior, since the source gain clamps to 1 by default. In contrast, an app can attenuate sources as they want with little issue.
* MSVC doesn't like the decltypeChris Robinson2021-06-231-3/+3
|
* Add wrapper methods for getting device config valuesChris Robinson2021-06-234-41/+55
|
* Convert AmbDecConf to DecoderConfig for loadingChris Robinson2021-06-233-394/+324
| | | | | This keeps AmbDecConf uses confined to multi-channel panning initialization, and avoids spreading conversions and maps all over.
* Support built-in 3D ambisonic decodersChris Robinson2021-06-231-18/+26
|
* Allow querying ALC_ALL_DEVICES_SPECIFIER from loopback devicesChris Robinson2021-06-221-1/+3
| | | | | They only return the default/driver name, since loopback devices don't have a canonical name.
* Don't allocate full buffer lines in each voiceChris Robinson2021-06-214-30/+55
| | | | | | There's now effectively a 16-channel limit for buffers (as determined by the number of elements in DeviceBase::mSampleData). Any more than that are ignored when mixing.
* Avoid mixing extraneous channelsChris Robinson2021-06-213-20/+26
|
* Use a unique_ptr to hold raw byte memoryChris Robinson2021-06-211-2/+4
|
* Merge pull request #578 from alexey-lysiuk/coreaudio_channel_countkcat2021-06-211-3/+1
|\ | | | | Fix getting of device channel count in CoreAudio backend
| * Fix getting of device channel count in CoreAudio backendalexey.lysiuk2021-06-211-3/+1
|/ | | | | | | AudioBufferList contains a variable length array of mNumberBuffers elements, so it should not be created with the default constructor like usual class instances. Unfortunately, Apple developer site documentation is literally empty for this API. There is a bunch of comments in framework's header files. Here is the correct usage of AudioBufferList pointer from Chromium: https://chromium.googlesource.com/chromium/src/media/+/008a1abc573e1f8bcf513b50ce48a923b30ef130/audio/mac/audio_manager_mac.cc#266 There were occasional crashes because of memory corruption which was confirmed by address sanitizer
* Fix some size typesChris Robinson2021-06-181-2/+2
|
* Initial attempt at CoreAudio playback enumerationChris Robinson2021-06-181-14/+253
|
* Avoid altering SrcBufferSize in each channelChris Robinson2021-06-141-1/+1
|
* Combine some checksChris Robinson2021-06-141-22/+23
|
* Reorder some channel label indicesChris Robinson2021-06-131-1/+1
|
* Use a unique_ptr to auto-free the jack ports listChris Robinson2021-06-121-20/+24
|