[FFmpeg-devel] [PATCH 7/7] ffmpeg: make the ac option set the demuxer's ch_layout AVOption
Nicolas George
george at nsup.org
Sun Mar 20 22:09:29 EET 2022
James Almer (12022-03-20):
> channels is deprecated on all supported raw demuxers.
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> fftools/ffmpeg_opt.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
I like this version much better.
Thanks.
> diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
> index 720a3cc46a..b3edbf9885 100644
> --- a/fftools/ffmpeg_opt.c
> +++ b/fftools/ffmpeg_opt.c
> @@ -1122,7 +1122,11 @@ static int open_input_file(OptionsContext *o, const char *filename)
> if (file_iformat && (priv_class = file_iformat->priv_class) &&
> av_opt_find(&priv_class, "channels", NULL, 0,
> AV_OPT_SEARCH_FAKE_OBJ)) {
> - av_dict_set_int(&o->g->format_opts, "channels", o->audio_channels[o->nb_audio_channels - 1].u.i, 0);
> + AVBPrint bp;
> + av_bprint_init(&bp, 0, AV_BPRINT_SIZE_AUTOMATIC);
> + av_bprintf(&bp, "%dC", o->audio_channels[o->nb_audio_channels - 1].u.i);
> + av_dict_set(&o->g->format_opts, "ch_layout", bp.str, 0);
> + av_bprint_finalize(&bp, NULL);
You do not need a BPrint for that, the size of the expansion of %d is
very limited, especially the values that can be relevant here.
> }
> }
> if (o->nb_audio_ch_layouts) {
Regards,
--
Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20220320/52e67f52/attachment.sig>
More information about the ffmpeg-devel
mailing list