[FFmpeg-cvslog] lavfi/amerge: copy ref props after filtering samples.

Clément Bœsch git at videolan.org
Thu Feb 2 14:41:14 CET 2012


ffmpeg | branch: master | Clément Bœsch <clement.boesch at smartjog.com> | Wed Feb  1 15:53:54 2012 +0100| [d50a4c4a5b5c7f6fb563fd4fc0c9deb4a5704a10] | committer: Clément Bœsch

lavfi/amerge: copy ref props after filtering samples.

This fixes various issues with ffmpeg -ss and -t.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d50a4c4a5b5c7f6fb563fd4fc0c9deb4a5704a10
---

 libavfilter/af_amerge.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c
index 736379c..c9b0f21 100644
--- a/libavfilter/af_amerge.c
+++ b/libavfilter/af_amerge.c
@@ -186,6 +186,7 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
 {
     AVFilterContext *ctx = inlink->dst;
     AMergeContext *am = ctx->priv;
+    AVFilterLink *const outlink = ctx->outputs[0];
     int input_number = inlink == ctx->inputs[1];
     struct amerge_queue *inq = &am->queue[input_number];
     int nb_samples, ns, i;
@@ -214,6 +215,12 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
         ins[i] = (*inbuf[i])->data[0] +
                  am->queue[i].pos * am->nb_in_ch[i] * am->bps;
     }
+
+    avfilter_copy_buffer_ref_props(outbuf, *inbuf[0]);
+    outbuf->audio->nb_samples     = nb_samples;
+    outbuf->audio->channel_layout = outlink->channel_layout;
+    outbuf->audio->planar         = outlink->planar;
+
     while (nb_samples) {
         ns = nb_samples;
         for (i = 0; i < 2; i++)



More information about the ffmpeg-cvslog mailing list