SRGSSR / pillarbox-documentation

Technical cross-platform documentation for Pillarbox
https://srgssr.github.io/pillarbox-documentation
MIT License
3 stars 0 forks source link

Discuss track management API #44

Closed defagos closed 1 year ago

defagos commented 1 year ago

As a team we need to have a common understanding of what our API should provide and what it should not.

Acceptance criteria

Tasks

defagos commented 1 year ago

As discussed with @amtins and @StaehliJ, the Pillarbox player API will not provide clever behaviors like what SRG Media Player currently does on Apple platforms. For example we won't implement a mode where switching the audio track chooses the best possible language for subtitles, based on device or application language. If this is later needed this behavior can be provided with higher-level APIs, but the low-level API should be kept simple.

In particular automatic selection should only be based on master playlist content. Usually AUTOSELECT and DEFAULT should be set to NO. By default players will behave accordingly (e.g. show subtitles if DEFAULT has been set to YES for some subtitles). If not desired then either packaging should be updated to reflect better defaults or apps integrating the player should use provided APIs to override the default.

There will be only two exceptions that will be dealt with at the player level:

amtins commented 1 year ago

@defagos echoing the discussion we had yesterday and the fact that I'm no longer sure how strictly to apply the specification, we can keep it as it is, https://github.com/SRGSSR/pillarbox-documentation/issues/44#issuecomment-1663827441.

If a question is raised by the packaging team or an integrator, we could ask the specification authors to clarify these properties and their strict interpretation as well as the examples provided in the specification.

As a reference, an answer I gave on a similar subject https://github.com/SRGSSR/srgletterbox-web/issues/769#issuecomment-1482557458