[FFmpeg-devel] [PATCH] fix bug: avfi/af_amerge: avfilter_copy_buffer_ref_props will overwrite output pts

William Yu genwillyu at gmail.com
Thu Jul 26 04:41:29 CEST 2012


I think outbuf's pts should not be reset to inbuf's pts.

---
 libavfilter/af_amerge.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c
index b810f73..55269f6 100644
--- a/libavfilter/af_amerge.c
+++ b/libavfilter/af_amerge.c
@@ -241,13 +241,13 @@ static int filter_samples(AVFilterLink *inlink,
AVFilterBufferRef *insamples)
         ins[i] = inbuf[i]->data[0] +
                  am->in[i].pos * am->in[i].nb_ch * am->bps;
     }
+    avfilter_copy_buffer_ref_props(outbuf, inbuf[0]);
     outbuf->pts = inbuf[0]->pts == AV_NOPTS_VALUE ? AV_NOPTS_VALUE :
                   inbuf[0]->pts +
                   av_rescale_q(am->in[0].pos,
                                (AVRational){ 1, ctx->inputs[0]->sample_rate },
                                ctx->outputs[0]->time_base);

-    avfilter_copy_buffer_ref_props(outbuf, inbuf[0]);
     outbuf->audio->nb_samples     = nb_samples;
     outbuf->audio->channel_layout = outlink->channel_layout;

-- 
1.7.11.1.59.gbc9e7dd


More information about the ffmpeg-devel mailing list