[FFmpeg-devel] [PATCH 001/281] Add a new channel layout API

James Almer jamrial at gmail.com
Mon Jan 17 22:27:17 EET 2022



On 1/17/2022 5:18 PM, Marton Balint wrote:
> 
> 
> On Mon, 17 Jan 2022, James Almer wrote:
> 
>>
>>
>> You're still thinking there's a distinction, when i already told you 
>> that there is none. I added the name field because people wanted to 
>> give non standard channel names, and maybe also change the standard 
>> ones too. It's not a label to go alongside a designation, it's *a* name.
>> There are about 20 channels that have a standard name from waveformat 
>> and extensions, while the rest lack one. You can obviously have a non 
>> standard speaker setup with 50 channels, and all those extra speakers 
>> can surely have a name based on their position (Say, RTFC, to refer to 
>> "right of top front center"), so the field lets you give it to them if 
>> that's convenient for you and you want a pretty print output of the 
>> layout without seeing things like USR49. That's it.
> 
> OK, but shouldn't the user be able to specify if it means a builtin name 
> or a custom name when specifying a channel name?
> 
> That is why I suggested some additinal syntax for custom names in 
> av_channel_layout_index_from_string() and 
> av_channel_layout_channel_from_string(). Like "FL" is a builtin name, 
> "@name" is a custom name.
> 
>>
>> Yes, av_channel_layout_from_string() will not be able to parse the 
>> output of av_channel_layout_from_describe() if you gave channels a 
>> custom name, since they are specifically from that other layout. 
>> There's no way around that, as we can't make describe() output some 
>> string that from_string() can interpret for those because then 
>> describe() will be useless for printing the layout for human 
>> readability purposes.
>> It is in fact a good reason to either remove the name field or stop 
>> making these helpers look at it, since describe() is meant to create 
>> strings from_string() can parse.
>>
>> I personally would do just that and keep the opaque fields alone. 
>> Otherwise I'll make the helpers stop looking at it, since after your 
>> request, non standard channels can be addressed as USR#, so you can 
>> create layout from strings with them just fine.
> 
> Removing the custom names is fine with me. Maybe it's a compromise 
> nobody is particularly happy about.

I will not remove it. It has its uses even if helpers don't make 
extended use of it at first.

Advanced syntax can be implemented later. See my comments in v4.

> 
> Regards,
> Marton
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list