On 12/12/2021 5:00 PM, Nicolas George wrote:
Anton Khirnov (12021-12-12):
So what are you proposing? In my view, such higher level information
should live at a higher level - e.g. in the side data. You can then
have a filter that reads this side data and gets you the group you want.

So, what is the point of this new API if anything of value needs to be
done with side data and yet another API?

It seems to me you are indulging in a sunken-costs fallacy: you wrote
this API and all the code but you neglected to poll your fellow
developers for needs that it should cover, and as a result got something
much too limited. But now, you are trying to force it anyway.

What I propose is:

(1) define the needs properly;

(2) redesign the API;

(3) see how much code can still be used.

The needs as far as I can see, please add to the list:

A. Allow the same channel to appear several time in the layout. Hendrik
agreed that it was useful for some kind of USER_SPECIFIED or UNKNOWN
channel specification, but allowing for any channel specification is
actually simpler.

It is not limited to just having the same channel in the list, it
requires API and user interface support: the API must be able to tell
the user "this USER_SPECIFIED channel is the oboe, this USER_SPECIFIED
is the piano", and the user must be able to tell the API "the second
USER_SPECIFIED channel" or "the USER_SPECIFIED channel relating to the
piano".

To achieve this you don't need the same AVChannel value to appear several times in the same layout. You have INT_MAX values available, so just assign one to each of these you mentioned. No need for an abstract value "user defined" that would then show up several times in a layout. Oboe can be 65, piano can be 66. Also, each channel is meant to map to a speaker in a different physical location. If your idea is to have oboe and piano play through the same speaker, then you're thinking filtering, and that sounds beyond the scope of a channel layout API.

The user interface part to query and tell non standard AVChannel values apart in a human readable way is a different thing. That would probably require giving each channel a user defined name in some form.


B. Possibly, I do not personally insist on it like A: groups of
channels.


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