aboutsummaryrefslogtreecommitdiffstats
path: root/alc
Commit message (Collapse)AuthorAgeFilesLines
* Avoid 5.1Rear as its own channel configurationChris Robinson2021-07-3011-109/+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
|
* Add a UHJ-specific coefficient scaling arrayChris Robinson2021-07-133-5/+15
|
* 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
|
* Update the 5.1+center decoder and use it by defaultChris Robinson2021-06-301-24/+39
| | | | | | | 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
|
* 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-231-311/+312
| | | | | 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.
* Use a unique_ptr to hold raw byte memoryChris Robinson2021-06-211-2/+4
|
* 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
|
* Use a unique_ptr to auto-free the jack ports listChris Robinson2021-06-121-20/+24
|
* Set the JACK output ports as terminalChris Robinson2021-06-121-1/+1
| | | | Since there are no input ports associated with the output.
* Give a name to a lambdaChris Robinson2021-06-111-7/+7
|
* Improve name duplication handling with JACKChris Robinson2021-06-101-26/+63
| | | | | If a custom device pattern matches an existing one, its name will be replaced. A separate loop is used to check and handle duplicate display names.
* Add an option to mix directly in the JACK callbackChris Robinson2021-06-082-69/+144
|
* Handle the listener position separate from the rotation matrixChris Robinson2021-05-252-12/+10
| | | | | | It's too unstable with larger vectors. Even when the source and listener positions are the same, floating point precision can cause noticeable rounding errors.
* Fix setting the channel distance compensation buffersChris Robinson2021-05-201-3/+3
|
* Handle tvOS caseHALX992021-05-131-3/+3
|
* Add back a missing includeChris Robinson2021-04-271-0/+1
|
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-275-452/+470
|
* Move some functions to a more appropriate placeChris Robinson2021-04-272-49/+72
|
* Rename alcmain.h to device.hChris Robinson2021-04-278-31/+16
|
* Update include headersChris Robinson2021-04-2745-101/+97
| | | | Don't add alc/ to the include paths.
* Update some license noticesChris Robinson2021-04-272-28/+52
| | | | Permission to relicense was granted via email.
* Update includesChris Robinson2021-04-2711-15/+18
|
* Move BufferStorage and Voice to coreChris Robinson2021-04-277-1260/+4
|
* Move ContextBase and VoiceChange to coreChris Robinson2021-04-277-190/+16
|
* Partially implement an extension to hold sources on disconnectChris Robinson2021-04-265-1/+22
| | | | | | | | Rather than stopping voices/sources when the device becomes disconnected, the context can be set to leave them alone. As a consequence, their state will remain as playing and they'll keep their last known sample offset indefinately. For applications mindful of this behavior, it will allow resetting or reopening the device to reconnect and automatically resume where it left off.
* Move GetChannelIdxByName and clean up some more includesChris Robinson2021-04-269-54/+47
|
* Move bformatdec to coreChris Robinson2021-04-256-376/+6
|
* Move async_event.h to coreChris Robinson2021-04-254-54/+22
|
* Move some functions to coreChris Robinson2021-04-2519-289/+242
| | | | And clean up more includes
* More include cleanupChris Robinson2021-04-244-9/+10
|