diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc index 8428e05b39..30dd556735 100644 --- a/libs/ardour/audio_diskstream.cc +++ b/libs/ardour/audio_diskstream.cc @@ -926,12 +926,12 @@ AudioDiskstream::read (Sample* buf, Sample* mixdown_buffer, float* gain_buffer, //cerr << "start is " << start << " loopstart: " << loop_start << " loopend: " << loop_end << endl; } + if (reversed) { + start -= cnt; + } + while (cnt) { - if (reversed) { - start -= cnt; - } - /* take any loop into account. we can't read past the end of the loop. */ if (loc && (loop_end - start < cnt)) {