Fix wrong buffer allocation for MCC in ALS.
authorThilo Borgmann <thilo.borgmann@googlemail.com>
Wed, 17 Feb 2010 22:53:25 +0000 (22:53 +0000)
committerThilo Borgmann <thilo.borgmann@googlemail.com>
Wed, 17 Feb 2010 22:53:25 +0000 (22:53 +0000)
Originally committed as revision 21871 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/alsdec.c

index b9a2285..25b61ec 100644 (file)
@@ -1563,7 +1563,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
     // allocate and assign channel data buffer for mcc mode
     if (sconf->mc_coding) {
         ctx->chan_data_buffer  = av_malloc(sizeof(*ctx->chan_data_buffer) *
-                                           num_buffers);
+                                           num_buffers * num_buffers);
         ctx->chan_data         = av_malloc(sizeof(ALSChannelData) *
                                            num_buffers);
         ctx->reverted_channels = av_malloc(sizeof(*ctx->reverted_channels) *
@@ -1576,7 +1576,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
         }
 
         for (c = 0; c < num_buffers; c++)
-            ctx->chan_data[c] = ctx->chan_data_buffer + c;
+            ctx->chan_data[c] = ctx->chan_data_buffer + c * num_buffers;
     } else {
         ctx->chan_data         = NULL;
         ctx->chan_data_buffer  = NULL;