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
_______________________________________________
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