[FFmpeg-devel] [PATCH 2/4] lavfi/af_pan: support unknown layouts on output.

Stefano Sabatini stefasab at gmail.com
Fri Oct 25 19:03:04 CEST 2013


Fascist nit: lavfi/pan: support unknown layouts on output

On date Friday 2013-10-25 16:20:56 +0200, Nicolas George encoded:
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
>  libavfilter/af_pan.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/libavfilter/af_pan.c b/libavfilter/af_pan.c
> index e742d9e..9f78ff0 100644
> --- a/libavfilter/af_pan.c
> +++ b/libavfilter/af_pan.c
> @@ -116,10 +116,10 @@ static av_cold int init(AVFilterContext *ctx)
>      if (!args)
>          return AVERROR(ENOMEM);
>      arg = av_strtok(args, "|", &tokenizer);
> -    ret = ff_parse_channel_layout(&pan->out_channel_layout, NULL, arg, ctx);
> +    ret = ff_parse_channel_layout(&pan->out_channel_layout,
> +                                  &pan->nb_output_channels, arg, ctx);
>      if (ret < 0)
>          goto fail;
> -    pan->nb_output_channels = av_get_channel_layout_nb_channels(pan->out_channel_layout);
>  
>      /* parse channel specifications */
>      while ((arg = arg0 = av_strtok(NULL, "|", &tokenizer))) {
> @@ -244,7 +244,9 @@ static int query_formats(AVFilterContext *ctx)
>  
>      // outlink supports only requested output channel layout
>      layouts = NULL;
> -    ff_add_channel_layout(&layouts, pan->out_channel_layout);
> +    ff_add_channel_layout(&layouts,
> +                          pan->out_channel_layout ? pan->out_channel_layout :
> +                          FF_COUNT2LAYOUT(pan->nb_output_channels));
>      ff_channel_layouts_ref(layouts, &outlink->in_channel_layouts);
>      return 0;
>  }
> @@ -286,6 +288,8 @@ static int config_props(AVFilterLink *link)
>                                    0, ctx);
>      if (!pan->swr)
>          return AVERROR(ENOMEM);
> +    if (!pan->out_channel_layout)
> +        av_opt_set_int(pan->swr, "och", pan->nb_output_channels, 0);

LGTM, thanks.
-- 
FFmpeg = Fanciful & Frightening MultiPurpose Everlasting God


More information about the ffmpeg-devel mailing list