aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use aliases to simplify some time type namesChris Robinson2018-01-011-67/+61
|
* Wrap av_gettime to ensure it's interpreted as microsecondsChris Robinson2018-01-011-7/+10
|
* Rename the do_direct_out variableChris Robinson2018-01-011-3/+3
|
* Use a less-intense memory order to check for quittingChris Robinson2018-01-011-9/+9
|
* Check for AL_SOFT_direct_channels once when initializingChris Robinson2018-01-011-10/+8
|
* Declare the total buffer time instead of buffer countChris Robinson2018-01-011-10/+15
|
* Use a std::array for the buffers in alffplayChris Robinson2018-01-011-8/+7
|
* Use inline member initialization where possibleChris Robinson2018-01-011-86/+69
|
* Make more values global constChris Robinson2018-01-011-19/+18
|
* Use a global to specify alffplay's audio sync thresholdChris Robinson2017-12-311-15/+11
|
* Avoid dereferencing a NULL pointerChris Robinson2017-12-311-1/+2
| | | | | | Even though it's taking the address of a member, it's still technically a derefernce and thus undefined behavior. sizeof doesn't "execute" the expression, so derefering in it instead is fine.
* Clear the buffer queue when underrunChris Robinson2017-12-311-1/+3
|
* Wake up the packet send loop when more frames are neededChris Robinson2017-12-311-38/+50
|
* Readd AL_SOFT_source_latency support to alffplayChris Robinson2017-12-301-12/+17
|
* Use standard duration types for stream clocksChris Robinson2017-12-301-105/+122
|
* Improve the alffplay queue for FFmpeg's send/receive APIChris Robinson2017-12-301-152/+139
| | | | | | | | The packet handling thread now calls avcodec_send_packet to give compressed data to libavcodec, while the audio/video threads call avcodec_receive_frame to handle decoded frames. The packet thread still maintains local queues for each stream to avoid starving an A/V thread when the other doesn't want another frame yet.
* Update resampler padding checksChris Robinson2017-12-291-3/+3
|
* Fix up a commentChris Robinson2017-12-241-7/+5
|
* Don't make a pass-through macro for FadedDelayLineOutChris Robinson2017-12-241-8/+7
|
* Use linear interpolation for reverb modulationChris Robinson2017-12-241-76/+130
| | | | | | The core LateReverb_* functions are explicitly written out now, since the tapping and blending done by the Faded version is a bit more complex and it's not so easy to ensure proper optimizing on the Unfaded version.
* Don't offset the chorus/flanger delay and LFOChris Robinson2017-12-242-36/+22
| | | | | The delay being added to the scaled LFO will ensure a proper positive result regardless.
* Fade between depths in the reverb modulatorChris Robinson2017-12-241-48/+26
|
* Use a separate unmodulated feedback tap for reverbChris Robinson2017-12-241-18/+20
|
* Only link to the common lib when building as sharedChris Robinson2017-12-231-3/+6
|
* Clarify some reverb valuesChris Robinson2017-12-231-7/+6
|
* Reorder some global variablesChris Robinson2017-12-231-188/+188
|
* Cleanup reverb modulation scalingChris Robinson2017-12-231-14/+17
|
* Add missing integer queriesChris Robinson2017-12-211-23/+65
|
* Fix the lfo_offset for a 0-rate flangerChris Robinson2017-12-191-1/+1
|
* Use MixSamples for the echo outputChris Robinson2017-12-191-30/+20
|
* Update the chorus and flanger state struct less oftenChris Robinson2017-12-192-8/+8
|
* Make the echo effect only apply feedback to repeated samplesChris Robinson2017-12-191-11/+16
|
* Fade gains in the chorus and flanger outputChris Robinson2017-12-192-16/+20
|
* Use a single delay line for chorus feedback on a fixed tapChris Robinson2017-12-182-92/+118
| | | | | | The outputs themselves use a variale-delay tap, but using a separate fixed- delay tap on the feedback helps improve the perceived "wobble" with sustained notes. This also applies to the flanger effect.
* Apply chorus and flanger feedback on the tapped re-feedChris Robinson2017-12-172-6/+6
|
* Use the selected mixer for chorus and flanger outputChris Robinson2017-12-172-50/+22
|
* Make MixSamples non-static globalChris Robinson2017-12-173-5/+4
|
* Fix some types to make MSVC happyChris Robinson2017-12-173-12/+13
|
* Avoid a potential calloc of 0Chris Robinson2017-12-171-6/+5
|
* Build common code onceChris Robinson2017-12-161-22/+42
|
* Use the right path for android's cmake toolchainChris Robinson2017-12-161-1/+1
|
* Update travis for android-ndk-r15, required for its newer cmakeChris Robinson2017-12-161-8/+10
|
* Include the fpu=neon switch when testing for arm_neon.hChris Robinson2017-12-161-1/+1
|
* Don't cache the Android NDK in TravisChris Robinson2017-12-161-15/+9
|
* Mix multiple buffers in each buffer list itemChris Robinson2017-12-161-64/+112
| | | | Basically now this just relies on being able to specify composited buffers.
* Pre-clear the source temp buffer and accumulate into itChris Robinson2017-12-161-18/+7
|
* Rename SrcDataSize to be less confusingChris Robinson2017-12-161-25/+23
|
* Allow storing multiple buffers in a ALbufferlistitemChris Robinson2017-12-154-72/+153
| | | | | | | | | | | | | | | This will be to allow buffer layering, multiple buffers of the same format and sample rate that are mixed together prior to resampling, filtering, and panning. This will allow composing sounds from individual components that can be swapped around on different invocations (e.g. layer SoundA and SoundB on one instance and SoundA and SoundC on a different instance for a slightly different sound, then just SoundA for a third instance, and so on). The longest buffer within the list item determines the length of the list item. More work needs to be done to fully support it, namely the ability to specity multiple buffers to layer for static and streaming sources. Also the behavior of loop points for layered static sources should be worked out. Should also consider allowing each layer to have a sample offset.
* Update flanger with the same changes as chorusChris Robinson2017-12-151-44/+55
|
* Use a separate LFO offset in the chorus effectChris Robinson2017-12-151-10/+19
| | | | | Given that the LFO range is not a power-of-two, it won't correctly wrap on overflow.