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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to