mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2025-01-03 07:29:37 +01:00
audio: removed conditional from simple resampler's inner loop.
We never seem to overflow the source buffer now; this might have been a leftover from a bug that was covered by Vitaly's fixes? Removing this conditional makes the resampler 10-20% faster. Left an assert in there for debug builds, in case this still happens.
This commit is contained in:
parent
4f981df37f
commit
83454c821f
@ -209,9 +209,10 @@ SDL_ResampleAudioSimple(const int chans, const double rate_incr,
|
|||||||
SDL_assert((dest_samples * framelen) <= outbuflen);
|
SDL_assert((dest_samples * framelen) <= outbuflen);
|
||||||
SDL_assert((inbuflen % framelen) == 0);
|
SDL_assert((inbuflen % framelen) == 0);
|
||||||
|
|
||||||
while(dst < target) {
|
while (dst < target) {
|
||||||
const int pos = ((int)idx) * chans;
|
const int pos = ((int)idx) * chans;
|
||||||
const float *src = &inbuf[(pos >= finalpos) ? finalpos : pos];
|
const float *src = &inbuf[pos];
|
||||||
|
SDL_assert(pos <= finalpos);
|
||||||
for (i = 0; i < chans; i++) {
|
for (i = 0; i < chans; i++) {
|
||||||
const float val = *(src++);
|
const float val = *(src++);
|
||||||
*(dst++) = (val + last_sample[i]) * 0.5f;
|
*(dst++) = (val + last_sample[i]) * 0.5f;
|
||||||
|
Loading…
Reference in New Issue
Block a user