On 30/04/14 22:04, Anton Khirnov wrote:
> ---
> Local testing revealed the following fixes to be needed.
>
> If nobody has any objections, i'll squash this into the original patch and
> push
> tomorrow
> ---
> libavfilter/af_bs2b.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/libavfilter/af_bs2b.c b/libavfilter/af_bs2b.c
> index bda70b6..25e7867 100644
> --- a/libavfilter/af_bs2b.c
> +++ b/libavfilter/af_bs2b.c
> @@ -85,6 +85,14 @@ static av_cold int init(AVFilterContext *ctx)
> return 0;
> }
>
> +static av_cold void uninit(AVFilterContext *ctx)
> +{
> + Bs2bContext *bs2b = ctx->priv;
> +
> + if (bs2b->bs2bp)
> + bs2b_close(bs2b->bs2bp);
> +}
> +
> static int query_formats(AVFilterContext *ctx)
> {
> AVFilterFormats *formats = NULL;
> @@ -99,7 +107,7 @@ static int query_formats(AVFilterContext *ctx)
> AV_SAMPLE_FMT_NONE,
> };
>
> - if (ff_add_channel_layout(&layouts, av_get_default_channel_layout(2)) !=
> 0)
> + if (ff_add_channel_layout(&layouts, AV_CH_LAYOUT_STEREO) != 0)
> return AVERROR(ENOMEM);
> ff_set_common_channel_layouts(ctx, layouts);
>
> @@ -130,6 +138,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame
> *frame)
> out_frame = ff_get_audio_buffer(inlink, frame->nb_samples);
> if (!out_frame)
> return AVERROR(ENOMEM);
> + av_frame_copy(out_frame, frame);
> ret = av_frame_copy_props(out_frame, frame);
> if (ret < 0) {
> av_frame_free(&out_frame);
> @@ -207,6 +216,7 @@ AVFilter ff_af_bs2b = {
> .priv_size = sizeof(Bs2bContext),
> .priv_class = &bs2b_class,
> .init = init,
> + .uninit = uninit,
> .inputs = bs2b_inputs,
> .outputs = bs2b_outputs,
> };
>
Fine for me.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel