Skip to content
Permalink
Browse files
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.
  • Loading branch information
icculus committed Jan 20, 2017
1 parent 4f981df commit 83454c821f591d26afd8f478313dbce64e776d6c
Showing with 3 additions and 2 deletions.
  1. +3 −2 src/audio/SDL_audiocvt.c
@@ -209,9 +209,10 @@ SDL_ResampleAudioSimple(const int chans, const double rate_incr,
SDL_assert((dest_samples * framelen) <= outbuflen);
SDL_assert((inbuflen % framelen) == 0);

while(dst < target) {
while (dst < target) {
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++) {
const float val = *(src++);
*(dst++) = (val + last_sample[i]) * 0.5f;

0 comments on commit 83454c8

Please sign in to comment.