aboutsummaryrefslogtreecommitdiffstats
path: root/alc
Commit message (Collapse)AuthorAgeFilesLines
* Make and use a bit_cast functionChris Robinson2023-05-049-14/+21
| | | | 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-0412-60/+58
|
* Implement a context debug flagChris Robinson2023-05-034-17/+51
| | | | | Setting the debug flag at context creation enables more debug messages for the created context, and enables debug messages by default.
* Rename AL_SOFT_debug to AL_EXT_DEBUGChris Robinson2023-05-034-81/+81
|
* Reduce code duplication for context queriesChris Robinson2023-05-011-0/+1
|
* Define a struct where it's neededChris Robinson2023-05-011-1/+18
|
* Implement pushing/popping debug groupsChris Robinson2023-05-014-117/+29
|
* Put the debug filters into a groupChris Robinson2023-05-013-56/+15
|
* Use a 64-bit value for tracking ID filtersChris Robinson2023-05-012-15/+10
|
* Fix some debug message length limit checksChris Robinson2023-05-011-4/+7
|
* Avoid assigning to existing optional<string>Chris Robinson2023-05-011-8/+2
| | | | | | Reduces the amount inlining the compiler has to do, though the uhj/filter config option is no longer recognized (it has been deprecated, amd I don't think it was in an actual release).
* Implement debug message filtering for IDsChris Robinson2023-05-012-0/+13
|
* Fix shadowing warnings and add another missing includeChris Robinson2023-04-301-27/+28
|
* Add an extension string for the in-progress debug extensionChris Robinson2023-04-301-0/+1
|
* Implement debug log storageChris Robinson2023-04-304-1/+58
|
* Unlock the debug lock when calling the callbackChris Robinson2023-04-301-3/+8
| | | | | | There's no full guarantee about calling AL functions in a debug callback, due to a risk of deadlocks from an AL call that tries to take a lock that's already held at the time the callback is invoked, but this helps more work.
* Improve some debug error handlingChris Robinson2023-04-301-3/+6
|
* Separate the internal debug enums from the API valuesChris Robinson2023-04-302-55/+66
|
* Move debug functions to their own sourceChris Robinson2023-04-301-166/+0
|
* Implement non-ID based debug message filteringChris Robinson2023-04-304-1/+179
|
* Provide some more debug messagesChris Robinson2023-04-291-8/+22
|
* Add a missing includeChris Robinson2023-04-291-0/+1
|
* Start a debug API extensionChris Robinson2023-04-294-1/+153
|
* Unset sLocalContext when releasing itChris Robinson2023-04-281-1/+1
|
* 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
|
* Scale B-Format panning coefficients only when neededChris Robinson2023-04-061-7/+7
|
* Simplify effect state buffer handling someChris Robinson2023-04-0415-56/+49
|
* Support the AL_EXT_STATIC_BUFFER extensionChris Robinson2023-04-032-0/+3
|
* Finalize AL_SOFT_source_start_delayChris Robinson2023-03-312-11/+1
|
* Add a compat option to restore AL_SOFT_buffer_sub_dataChris Robinson2023-03-173-18/+39
|
* Rename some member functions and variables for consistencyChris Robinson2023-03-162-118/+118
|
* Commit deferred EAX properties in alcProcessContextChris Robinson2023-03-162-14/+11
|
* 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
|
* Don't change the context's EAX version on every set/get callChris Robinson2023-03-112-44/+9
|
* Don't commit EAX updates in applyAllUpdatesChris Robinson2023-03-111-8/+8
| | | | | | | | | | To avoid alcProcessContext causing deferred EAX properties to be committed. This simplifies updates when EAX has been initialized, but never or rarely used. Committing now always occurs in EAXSet when the property is non-deferred, updating the OpenAL object(s) with it (with OpenAL's updates then being applied based on the context's defer state).
* Add queries for the buffer byte/sample/sec lengthChris Robinson2023-03-071-0/+1
| | | | | | | | | | | | | These used to exist with the now-defunct AL_SOFT_buffer_samples extension, this just restores those queries without extra baggage. The sample length query are necessary when handling ADPCM buffers, since the size/channels*8/bits calculation is incorrect with ADPCM. 'Bits' is usually reported as 4 since most samples in a block are stored as nibbles, but that's only approximate and doesn't account for the block header. The average number of bits per sample in an ADPCM block can't be represented as an integer, so the more blocks there are stored in the buffer, the more inaccurate the calculation becomes.
* Use macros for the likely/unlikely attributesChris Robinson2023-03-017-80/+81
| | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places.
* Add aLaw formats to AL_SOFT_UHJ_exChris Robinson2023-02-271-0/+3
|
* Add AL_SOFT_UHJ_ex to the extension listChris Robinson2023-02-263-10/+8
|
* Add formats for UHJ with muLaw, and ADPCM for 2-channel UHJChris Robinson2023-02-261-1/+11
| | | | | | | | | | ADPCM doesn't seem to be well defined for more than two channels, even though there doesn't seem to be any issue with simply increasing the channel step over interleaved data (ffmpeg refuses to create IMA4 or MSADPCM files with more than two channels, and its decoder behaves oddly different when channels > 2). So IMA4 and MSADPCM can only safely handle 2-channel UHJ. There's no problem with muLaw supporting 2-, 3-, or 4-channel UHJ though.
* Support MSADPCM samples in the mixerChris Robinson2023-02-141-0/+1
|
* Support IMA4 ADPCM as a mixing voice formatChris Robinson2023-02-141-0/+4
|
* Separate decoding and mixing from resamplingChris Robinson2023-02-121-6/+0
|
* Check a string for NULL before calling strtoullChris Robinson2023-02-111-8/+9
|
* Use a span to hold the cubic table referenceChris Robinson2023-02-101-1/+1
|