[FFmpeg-devel] [PATCH 1/2] lavfi/aresample: set buffer properties after copy.
Nicolas George
nicolas.george at normalesup.org
Wed Sep 12 21:30:56 CEST 2012
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.
Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
libavfilter/af_aresample.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
The crash in trac ticket #1671 does not happen apparently because the format
negociation result in a different order of the filters.
diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c
index 4221945..f0ccb5f 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);
--
1.7.10.4
More information about the ffmpeg-devel
mailing list