aboutsummaryrefslogtreecommitdiffstats
path: root/al/buffer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Don't try to access null pointersChris Robinson2023-04-281-0/+3
|
* Make sure extension functions are properly aligned on 32-bitChris Robinson2023-04-121-2/+2
|
* Remove a duplicate functionChris Robinson2023-04-031-19/+3
|
* Support the AL_EXT_STATIC_BUFFER extensionChris Robinson2023-04-031-18/+144
|
* Hold the buffer sample pointer separate from the vectorChris Robinson2023-04-031-6/+8
|
* Remove the separate UserFmt typesChris Robinson2023-03-191-230/+128
| | | | | All caller-usable formats are available as core formats now, so there's no reason to distinguish between them.
* Support aLaw samples for UHJChris Robinson2023-03-071-1/+4
|
* Don't use "hardware" for automatic buffer storageChris Robinson2023-03-071-13/+30
|
* Avoid duplicate parameter validationChris Robinson2023-03-071-7/+6
|
* Add queries for the buffer byte/sample/sec lengthChris Robinson2023-03-071-0/+13
| | | | | | | | | | | | | 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-011-124/+124
| | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places.
* Add formats for UHJ with muLaw, and ADPCM for 2-channel UHJChris Robinson2023-02-261-4/+9
| | | | | | | | | | 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.
* Set the proper block align for callback buffersChris Robinson2023-02-161-1/+1
|
* Remove unused decoder functionsChris Robinson2023-02-141-202/+2
|
* Don't convert MS ADPCM on loadChris Robinson2023-02-141-35/+6
|
* Support MSADPCM samples in the mixerChris Robinson2023-02-141-1/+3
|
* Don't convert IMA4 samples on loadChris Robinson2023-02-141-98/+96
|
* Support IMA4 ADPCM as a mixing voice formatChris Robinson2023-02-141-7/+7
|
* Separate decoding and mixing from resamplingChris Robinson2023-02-121-3/+9
|
* Avoid unnecessary uses of make_optionalChris Robinson2023-01-131-23/+23
|
* Avoid using a macro to set a context error and returnChris Robinson2022-12-241-17/+17
|
* Implement an al::unreachable wrapper/helperChris Robinson2022-12-131-2/+2
|
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-061-124/+124
|
* Avoid some uses of the LIKELY/UNLIKELY macrosChris Robinson2022-12-051-125/+128
|
* Use standard likely/unlikely attributes when availableChris Robinson2022-12-051-2/+2
|
* Clear the buffer from X-RAM before updating its sizeChris Robinson2022-08-051-0/+3
|
* Move EAX files to their own sub-directoryChris Robinson2022-05-161-2/+2
|
* Remove the unused flags parameter from alBufferCallbackSOFTChris Robinson2022-04-011-3/+1
|
* Simplify al::byteChris Robinson2022-03-301-12/+10
| | | | | It's just an alias for unsigned char now, and no longer strongly-typed like std::byte.
* Ensure the EAX functions are suitably aligned on 32-bitChris Robinson2022-03-161-2/+2
|
* Fix X-RAM trackingChris Robinson2022-03-061-182/+115
|
* Make some local constexpr variables staticChris Robinson2022-02-231-1/+1
|
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-301-9/+6
| | | | And disable it by default for non-Windows targets
* Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)Boris I. Bendovsky2022-01-301-0/+292
| | | | | | | | | | | | | | | * Add EAX extensions (EAX 2.0-5.0, X-RAM) * Comment out C++17 leftovers * Remove everything related to patching * Update alsoftrc.sample * Rewrite integration * Fix GCC compilation under Linux * Always reset EAX effect properties when loading it into FX slot
* Properly compare the buffer channels for preservationChris Robinson2022-01-171-1/+1
|
* Add an internal Super Stereo formatChris Robinson2021-12-111-8/+4
| | | | | | | It's not available as an AL buffer format (yet) since I'm not sure how to expose it. Internally it seems fine as a separate channel configuration, but because OpenAL combines the channel configuration and sample type, a flag may work better there.
* Update some in-progress extension typesChris Robinson2021-11-101-2/+2
|
* Make a construct_at method amd use itChris Robinson2021-10-081-1/+1
|
* Silence some static analysis warningsChris Robinson2021-10-031-3/+2
|
* Combine a couple similar switch blocksChris Robinson2021-07-171-77/+64
|
* Fix returned value for AL_AMBISONIC_SCALING_SOFT buffer queriesChris Robinson2021-07-131-1/+1
|
* Add a UHJ-specific coefficient scaling arrayChris Robinson2021-07-131-0/+1
|
* Add back some more missing includesChris Robinson2021-04-271-0/+1
|
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-271-1/+1
|
* Rename alcmain.h to device.hChris Robinson2021-04-271-1/+1
|
* Update include headersChris Robinson2021-04-271-3/+3
| | | | Don't add alc/ to the include paths.
* Move BufferStorage and Voice to coreChris Robinson2021-04-271-2/+2
|
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-241-24/+24
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Add support for 4-channel UHJChris Robinson2021-03-311-9/+20
| | | | Also add the SOFT moniker to the new macros
* Handle 3-channel UHJ audio buffersChris Robinson2021-03-311-3/+10
|