[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