[FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Mon Oct 31 14:15:15 EET 2022


Paul B Mahol:
> -        av_log(log_ctx, AV_LOG_ERROR,
> +        char *cl_name;
> +
> +        av_log(log_ctx, AV_LOG_WARNING,
>                 "Channel layout is not set in stream %d, and could not "
>                 "be guessed from the number of channels (%d)\n",
>                 st_index, dec_par->ch_layout.nb_channels);
> -        return AVERROR(EINVAL);
> +        cl_name = av_asprintf("%dC", dec_par->ch_layout.nb_channels);
> +        av_channel_layout_from_string(&chl, cl_name);
> +        free(cl_name);

1. Wrong deallocator.
2. The allocation is completely unnecessary: One can just use snprintf
with a big enough (yet still small) buffer.
3. But even that is unnecessary: Just set chl = (AVChannelLayout){
.order = AV_CHANNEL_ORDER_UNSPEC, .nb_channels =
dec_par->ch_layout.nb_channels }.

- Andreas



More information about the ffmpeg-devel mailing list