aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Increase the default effect slot and send countChris Robinson2017-02-215-21/+24
| | | | | | | | | | The default number of auxiliary effect slots is now 64. This can still be raised by the config file without a hard maximum, but incurs processing cost for each effect slot generated by the app. The default number of source sends is now actually 2, as per the EFX docs. However, it can be raised up to 16 via ALC_MAX_AUXILIARY_SENDS attribute requests, rather than the previous 4.
* Dynamically allocate the ALsource Send[] arrayChris Robinson2017-02-215-69/+94
|
* Interleave the voice and source property objectsChris Robinson2017-02-211-13/+12
|
* Make the voices' Send[] array dynamically sizedChris Robinson2017-02-215-33/+49
| | | | | The voices are still all allocated in one chunk to avoid memory fragmentation. But they're accessed as an array of pointers since the size isn't static.
* Print warnings about missing libraries and functionsChris Robinson2017-02-213-2/+24
|
* Avoid duplicating device buffer layout logicChris Robinson2017-02-203-38/+38
|
* Remove an unused flag enumChris Robinson2017-02-201-3/+0
|
* Remove mention of the sinc8 resamplerChris Robinson2017-02-201-1/+0
|
* Allow distance compensation for non-HQ rendering as wellChris Robinson2017-02-205-53/+49
| | | | | It still requires a custom configuration to specify appropriate speaker distances.
* Remove the separate surround51rear decoder optionChris Robinson2017-02-195-64/+13
| | | | | | Both 5.1 Side and Rear configurations use 'surround51' to look up the appropriate decoder file. The decoder loader already handles mapping between rear and side channels, so there's no need for separate options.
* Apply distance compensation when writing to the outputChris Robinson2017-02-195-122/+106
|
* Don't use periphonic FOA when the HOA decoder is not periphonicChris Robinson2017-02-195-41/+55
|
* Remove the sinc8 resampler optionChris Robinson2017-02-199-309/+39
| | | | | Perf shows less than 1 percent CPU difference from the higher quality bsinc resampler, but uses almost twice as much memory (a 128KB lookup table).
* Always lock the device backend before calling aluMixDataChris Robinson2017-02-1811-50/+63
|
* Return some device latency by defaultChris Robinson2017-02-181-2/+7
| | | | | | | A device will never have 0 latency. OpenAL Soft itself uses a sample buffer length of UpdateSize*NumUpdates, and during playback will have about (NumUpdates-1) periods filled, more or less. Without a more accurate measurement from the playback system, this is better than reporting 0.
* Use select() to wait for audio with OSS and SolarisChris Robinson2017-02-182-85/+137
|
* Reorganize ALvoice membersChris Robinson2017-02-154-98/+104
| | | | | This places the Send[] array at the end of the struct, making it easier to handle dynamically.
* Make ALsourceProps' Send array dynamically sizedChris Robinson2017-02-146-39/+121
| | | | | | ALsourceProps' Send[] array is placed at the end of the struct, and given an indeterminate size. Extra space is allocated at the end of each struct given the number of auxiliary sends set for the device.
* Fix build with non-C11 atomicsChris Robinson2017-02-132-3/+3
|
* Make the source state atomicChris Robinson2017-02-135-34/+36
| | | | | Since it's modified by the mixer when playback is ended, a plain struct member isn't safe.
* Put BsincState in a generic unionChris Robinson2017-02-1311-77/+81
|
* Porperly check for and use __builtin_assume_alignedChris Robinson2017-02-134-12/+36
|
* Clean up the bsinc mixer a bitChris Robinson2017-02-123-26/+28
|
* Add NEON-enhanced resamplersChris Robinson2017-02-123-4/+294
|
* Print separate messages for building sdl_sound and ffmpeg examplesChris Robinson2017-02-121-3/+3
|
* Don't require SDL_sound for alffplayChris Robinson2017-02-112-49/+64
| | | | Also explicitly link with libz for alffplay, since static ffmpeg libs need it.
* Fix more uses of unsigned sizes and offsetsChris Robinson2017-02-103-10/+10
|
* Remove a couple context lock wrapper functionsChris Robinson2017-02-073-26/+17
|
* Properly capitalize NEONChris Robinson2017-02-071-1/+1
|
* Clear trailing whitespace from the cpu features stringChris Robinson2017-02-071-0/+5
|
* Use the correct IID for the opensl buffer queueChris Robinson2017-02-071-2/+3
|
* Convert the OpenSL backend to the new backend APIChris Robinson2017-02-073-177/+434
| | | | | This also removes the buffer queue callback's call to aluMixData, which could potentially block on a mutex.
* Fix for NULL JNIEnvChris Robinson2017-02-052-5/+9
| | | | Which can happen with native-only apps
* Call getSystemService as a non-static functionChris Robinson2017-02-031-4/+4
|
* Android's AudioManager.getProperty(String) returns a StringChris Robinson2017-02-021-1/+1
|
* Replace more ALuint with ALsizeiChris Robinson2017-01-293-15/+15
|
* Fix late reverb low-pass filteringChris Robinson2017-01-291-1/+1
|
* Use an all-pass series on each late reverb lineChris Robinson2017-01-281-261/+396
| | | | | | | | | This attempts to improve the smoothness of the late reverb decay by passing each line through multiple all-pass filters. Some work is still needed to work better in high-density and not-so-high-diffusion environments. This also removes the decay from the early reflections, since it's no longer continuous feedback.
* Add more traces for the Java calls being madeChris Robinson2017-01-271-7/+22
|
* Remove __android_log_print calls for TRACEREFChris Robinson2017-01-271-1/+0
| | | | | TRACEREFs aren't normally important, and for as often as it happens, the added function calls are wasteful even if they end up doing nothing.
* Round and clamp the scaled update count with openslChris Robinson2017-01-271-1/+4
|
* Try to use the system sample rate with AndroidChris Robinson2017-01-261-6/+56
|
* Also log to __android_log_print on AndroidChris Robinson2017-01-262-0/+18
|
* Get the JavaVM handle on Android targetsChris Robinson2017-01-262-0/+72
|
* Improve the ambisonic upscaling methodsChris Robinson2017-01-243-129/+174
| | | | | | | | This now takes advantage of the differences seen in generated decoder matrices for first-order compared to second- and third-order, such that with the appropriate frequency-dependent scaling applied to first-order content, the result is identical with a higher-order decoder matrix compared to a first- order matrix for the same layout.
* Fix coefficient counts for the built-in B-Format decodersChris Robinson2017-01-211-2/+2
|
* Use a flat sqrt(2) scale for non-directional ambient gainsChris Robinson2017-01-211-8/+3
|
* Update the default basic B-Format decodersChris Robinson2017-01-211-47/+36
| | | | This also converts them to ACN/N3D format.
* Move the B-Format HRTF virtual speaker stuff to InitHrtfPanningChris Robinson2017-01-184-100/+96
| | | | | This keeps the decoder matrices and coefficient mapping together for if it changes in the future.
* Replace some ALvoid with voidChris Robinson2017-01-183-6/+6
|