From b5bea2f96065642e32e172cf57d1f36ac12a4a5d Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Wed, 12 Sep 2012 19:34:21 +0200 Subject: [PATCH] lavfi/aresample: set buffer properties after copy. The aresample filter changes the format, layout and/or sample rate, it can not copy them blindly from its input. Related to trac ticket #1671. --- libavfilter/af_aresample.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c index 422194508b..f0ccb5fcf8 100644 --- a/libavfilter/af_aresample.c +++ b/libavfilter/af_aresample.c @@ -179,6 +179,9 @@ static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamplesref) avfilter_copy_buffer_ref_props(outsamplesref, insamplesref); + outsamplesref->format = outlink->format; + outsamplesref->audio->channel_layout = outlink->channel_layout; + outsamplesref->audio->sample_rate = outlink->sample_rate; if(insamplesref->pts != AV_NOPTS_VALUE) { int64_t inpts = av_rescale(insamplesref->pts, inlink->time_base.num * (int64_t)outlink->sample_rate * inlink->sample_rate, inlink->time_base.den); @@ -197,7 +200,6 @@ static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamplesref) return 0; } - outsamplesref->audio->sample_rate = outlink->sample_rate; outsamplesref->audio->nb_samples = n_out; ret = ff_filter_samples(outlink, outsamplesref);