[FFmpeg-devel] [PATCH] fftools/ffmpeg_demux: gracefully ignore mismatching channel layouts for -channel_layout option
Marton Balint
cus at passwd.hu
Mon Jun 10 22:23:07 EEST 2024
On Wed, 5 Jun 2024, Anton Khirnov wrote:
> Quoting Marton Balint (2024-06-03 23:48:47)
>> The very old behaviour of -channel_layout was to simply warn the user about
>> channel layouts which does not have a matching channel count, and ignore them,
>> instead of reporting an error.
>>
>> The recent fix re-added support for overriding -channel_layout, but it rejected
>> mismatching layouts. There is no easy way for the user to specify a channel
>> layout only for streams with matching number of channels, so this patch
>> restores the very old behaviour of ignoring mismatching layouts. See the
>> discussion in ticket #11016.
>
> I'm ambivalent about this. On one hand it probably doesn't hurt, for now
> at least, on the other it seems quite ad-hoc. Previously it worked this
> way mostly by accident, whereas if we now restore this behaviour
> deliberately we'll be committing to supporting it for the foreseeable
> future.
>
Yeah, I am a bit unsure about it as well. What made me implement this is
that there is really no easy way I could think of to simulate the old
behaviour. An alternative idea might be to introduce a new option
"-try_channel_map" which only gives a warning.
Ideally if we could use a stream specifier something like
-channel_map:a:eval:eq(st.codecpar.ch_layout.nb_channels,1) mono
that should solve this in a generic way, but this requires massive new
features in the eval API and in the opt API as well.
Regards,
Marton
More information about the ffmpeg-devel
mailing list