[FFmpeg-devel] [PATCH] lavfi/buffersrc: fix directly setting channel layout

Paul B Mahol onemda at gmail.com
Tue Feb 21 11:08:45 EET 2017


On 2/21/17, Rostislav Pehlivanov <atomnuker at gmail.com> wrote:
> When setting the channel layout directly using AVBufferSrcParameters
> the channel layout was correctly set however the init function still
> expected the old string format to set the number of channels (when it
> hadn't already been specified).
>
> Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> ---
>  libavfilter/buffersrc.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c
> index 77fd174219..37d1992b50 100644
> --- a/libavfilter/buffersrc.c
> +++ b/libavfilter/buffersrc.c
> @@ -341,14 +341,16 @@ static av_cold int init_audio(AVFilterContext *ctx)
>          return AVERROR(EINVAL);
>      }
>
> -    if (s->channel_layout_str) {
> +    if (s->channel_layout_str || s->channel_layout) {
>          int n;
>
> -        s->channel_layout = av_get_channel_layout(s->channel_layout_str);
> -        if (!s->channel_layout) {
> -            av_log(ctx, AV_LOG_ERROR, "Invalid channel layout %s.\n",
> -                   s->channel_layout_str);
> -            return AVERROR(EINVAL);
> +        if (s->channel_layout_str) {
> +            s->channel_layout =
> av_get_channel_layout(s->channel_layout_str);
> +            if (!s->channel_layout) {
> +                av_log(ctx, AV_LOG_ERROR, "Invalid channel layout %s.\n",
> +                       s->channel_layout_str);
> +                return AVERROR(EINVAL);
> +            }
>          }
>          n = av_get_channel_layout_nb_channels(s->channel_layout);
>          if (s->channels) {
> --
> 2.12.0.rc1.440.g5b76565f74
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

lgtm


More information about the ffmpeg-devel mailing list