Dash-Industry-Forum / DASH-IF-Conformance

This repository provides the source code for MPEG-DASH/DASH-IF Conformance Software/Validator. It has been extended according to further standards, such as CMAF, DVB-DASH, HbbTV, and CTA WAVE.
https://conformance.dashif.org/
Other
67 stars 28 forks source link

Bug: Schematron validation IOP checks not separated #496

Closed Romain-Bernier closed 4 years ago

Romain-Bernier commented 4 years ago

Hello, The manifest in attachment failed during the Schematron validation and I don't understand the error message. Can you explain the issue ? mpd_example.txt thanks

eceozturk commented 4 years ago

In the AdaptationSet with @id attribute set to 23, you have a ContentProtection element:

<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
         <cenc:pssh>***</cenc:pssh>
</ContentProtection>>

There is one ">" extra character. When removed, it should be fine.

Romain-Bernier commented 4 years ago

The extra ">" came from a copy mistake, sorry for that. I retry without it, I have the same unclear error :

location="/:MPD[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]/:Period[namespace uri()='urn:mpeg:dash:schema:mpd:2011'][1]/:AdaptationSet[namespace uri()='urn:mpeg:dash:schema:mpd:2011'][1]/:Representation[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]/*:ContentProtection[namespace-uri()='urn:mpeg:dash:schema:mpd:2011'][1]">

The ContentProtection descriptors shall always be present in the AdaptationSet element and apply to all contained Representations.

mpd_example2.txt

eceozturk commented 4 years ago

It is not the same error as it passes the MPD Validation now and getting stuck at the Schematron Validation.

It seems that this check should be done in case of validation against the IOP profile. However the schematron check lacks this condition. So, this is a bug and I change the issue title to reflect this.

In the meantime (until this is fixed), it seems that you are applying the same ContentProtection to each Representation; so if you would like to go on with the Segment Validation part of the conformance (where the DASH media content in each Representation will be downloaded and validated), you can simply remove all occurances of the ContentProtection element that are on the Representation level and put them on the Adaptation Set level. So, your MPD would be:

mpd_example3.txt

Romain-Bernier commented 4 years ago

Ok, thanks for your reply and the upcoming bugfix. I put the ContentProtection element inside the representation because, some time we have differents keys for differents representations.

eceozturk commented 4 years ago

This is fixed in 7189cad36964c2536fd9d97bf10796bd610d165d Closing the issue now. Please feel free to reopen/contact if further issues.

Romain-Bernier commented 4 years ago

Thanks, it's working well