[FFmpeg-devel] [PATCH 001/244] Add a new channel layout API
Anton Khirnov
anton at khirnov.net
Tue Jan 14 18:04:19 EET 2020
Quoting Nicolas George (2020-01-14 15:53:26)
> Anton Khirnov (12020-01-13):
> > You still did not say which filters those are, why do they need to
> > create streams with duplicate channels, or for that matter how they can
> > even do so when the current API does not support it.
>
> The one that comes to mind immediately is amerge, which is meant to be
> used in conjunction with pan to perform arbitrary mix between different
> audio streams. It was here significantly before the fork introduced
> amix, and had features that are not available there.
>
> With the current code, when the layouts overlap, it resorts to declaring
> an unknown layout and relying on channel order after printing a warning.
> But the natural way of doing it is to have repeated channels:
>
> [sfx][music][cmt]amerge=3 ;
> pan=5.1 | FC<FC.sfx+FC.cmt |
> FL<FL.sfx+FL.music |
> FR<FR.sfx+FR.music |
> BL<BL.sfx |
> BR<BR.sfx |
> LF<LF.sfx
>
> Any new channel layout API must contain provisions to handle this
> pattern.
No. If you want to mix multiple streams, then your mixing filter should
support multiple streams. It is certainly in no way "natural" or correct
to invent a scheme for stream multiplexing through channel layouts.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list