Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Precedence of ServiceDescription Elements #3922

Closed
mattjuggins opened this issue Apr 14, 2022 · 1 comment
Closed

Precedence of ServiceDescription Elements #3922

mattjuggins opened this issue Apr 14, 2022 · 1 comment
Labels
Milestone

Comments

@mattjuggins
Copy link
Contributor

mattjuggins commented Apr 14, 2022

See #3923

Certain ServiceDescription elements should take precedence over others taking into account the schemeIdUri, or lack of, of all ServiceDescription elements.

There are two clauses in the DVB DASH spec that describe desired client behaviour:

As per clause K.4.1 of ISO/IEC 23009-1 [1], if no Scope elements are present in a ServiceDescription element, then it applies to all clients.

If there is more than one ServiceDescription element which applies to the client then the client shall use one including a Scope element with @schemeIdUri set to urn:dvb:dash:lowlatency:scope:2019 in preference to any other. If there is still more than one applying then the client behaviour is undefined.

In the ServiceDescriptionController The current behaviour is for all ServiceDescriptions to be applied in order of appearance if they meet the condition of having no schemeIdUri or one of the supported schemes. This could result in a mix of parameters of multiple ServiceDescription where some parameters are defined in the first listed element and not in the following elements. Only the available parameters from a single ServiceDescription element should be applied.

The available ServiceDescription elements should be iterated so those with a schemeIdUri of urn:dvb:dash:lowlatency:scope:2019 take precedence. In the situation where multiple ServiceDescription elements are still applicable I'd suggest using the parameters from the ServiceDescription element that appeared last in the MPD order (though this is up for debate).

@dsilhavy
Copy link
Collaborator

Implemented in #3923 thanks @mattjuggins

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants