Playing and reading audio backwards and drop outs

Im trying to play an mp3 backwards, I was experimenting and I replace the original getNextAudioBlock of AudioFormatReaderSource with this:

void AudioFormatReaderSource::getNextAudioBlock (const AudioSourceChannelInfo& info)
{
if (info.numSamples > 0)
{
const int64 start = reader->lengthInSamples-info.numSamples*nextPlayPos;

  reader->read (info.buffer, info.startSample,
  info.numSamples, start, true, true);
  info.buffer->reverse(info.startSample, info.numSamples);
  nextPlayPos += 1;
 }

}

It works with some mp3 files but with others I get drop outs. I was using mp3s with 320 kbps and 44,100 kHz. The one that is not working says code with LAME3.99 and the one that works says iTunes 10.5. Please help!!