libavfilter: src_buffer: fix planar audio
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 17 May 2012 00:39:45 +0000 (02:39 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 17 May 2012 00:55:57 +0000 (02:55 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/src_buffer.c

index 33b3ec7..5aa0f99 100644 (file)
@@ -279,11 +279,10 @@ static AVFilterBufferRef *copy_buffer_ref(AVFilterContext *ctx,
         buf = ff_get_audio_buffer(outlink, AV_PERM_WRITE,
                                         ref->audio->nb_samples);
         channels = av_get_channel_layout_nb_channels(ref->audio->channel_layout);
-        data_size = av_samples_get_buffer_size(NULL, channels,
-                                               ref->audio->nb_samples,
-                                               ref->format, 1);
-        for (i = 0; i < FF_ARRAY_ELEMS(ref->buf->data) && ref->buf->data[i]; i++)
-            memcpy(buf->buf->data[i], ref->buf->data[i], data_size);
+        av_samples_copy(buf->extended_data, ref->buf->extended_data,
+                        0, 0, ref->audio->nb_samples,
+                        channels,
+                        ref->format);
         break;
 
     default: