avcodec/opusdec: Fix extra samples read index
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 27 Oct 2015 00:18:22 +0000 (01:18 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 30 Oct 2015 16:55:31 +0000 (17:55 +0100)
Fixes crash
Fixes Ticket4969 part 1

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 07225fa74f2cdb29d6d85fd33675539bfdfe9ea5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/opusdec.c

index f07f502..6025f67 100644 (file)
@@ -565,8 +565,8 @@ static int opus_decode_packet(AVCodecContext *avctx, void *data,
         if (buffer_samples) {
             float *buf[2] = { c->out[2 * i + 0] ? c->out[2 * i + 0] : (float*)frame->extended_data[0],
                               c->out[2 * i + 1] ? c->out[2 * i + 1] : (float*)frame->extended_data[0] };
-            buf[0] += buffer_samples;
-            buf[1] += buffer_samples;
+            buf[0] += decoded_samples;
+            buf[1] += decoded_samples;
             ret = av_audio_fifo_write(c->sync_buffers[i], (void**)buf, buffer_samples);
             if (ret < 0)
                 return ret;