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
68 stars 28 forks source link

Conformance Tool is failing for Schematron validation #695

Closed balajic7 closed 7 months ago

balajic7 commented 10 months ago

Schematron validation fails when combining the "ProducerReferenceTime" tag and the "ContentProtection" tag in the same Manifest. However, the validation passes when only one of these tags is present.

Attached Manifest: drmManifest.txt

Conformance tool result: val-result-2024-01-12T09_10_35.082Z.json

"info": [ "MPDValidator output: 0XLink resolving successful\n\n\nLine:Col[32:43]:cvc-complex-type.2.4.a: Invalid content was found starting with element 'ContentProtection'. One of '{"urn:mpeg:dash:schema:mpd:2011":ProducerReferenceTime, "urn:mpeg:dash:schema:mpd:2011":ContentPopularityRate, "urn:mpeg:dash:schema:mpd:2011":Resync, WC[##other:"urn:mpeg:dash:schema:mpd:2011"], "urn:mpeg:dash:schema:mpd:2011":Accessibility, "urn:mpeg:dash:schema:mpd:2011":Role, "urn:mpeg:dash:schema:mpd:2011":Rating, "urn:mpeg:dash:schema:mpd:2011":Viewpoint, "urn:mpeg:dash:schema:mpd:2011":ContentComponent, "urn:mpeg:dash:schema:mpd:2011":BaseURL, "urn:mpeg:dash:schema:mpd:2011":SegmentBase, "urn:mpeg:dash:schema:mpd:2011":SegmentList, "urn:mpeg:dash:schema:mpd:2011":SegmentTemplate, "urn:mpeg:dash:schema:mpd:2011":Representation}' is expected.\nMPD validation not successful - DASH is not valid!\n\n\n", "Schematron output: 0XLink resolving successful\n\n\nLine:Col[32:43]:cvc-complex-type.2.4.a: Invalid content was found starting with element 'ContentProtection'. One of '{"urn:mpeg:dash:schema:mpd:2011":ProducerReferenceTime, "urn:mpeg:dash:schema:mpd:2011":ContentPopularityRate, "urn:mpeg:dash:schema:mpd:2011":Resync, WC[##other:"urn:mpeg:dash:schema:mpd:2011"], "urn:mpeg:dash:schema:mpd:2011":Accessibility, "urn:mpeg:dash:schema:mpd:2011":Role, "urn:mpeg:dash:schema:mpd:2011":Rating, "urn:mpeg:dash:schema:mpd:2011":Viewpoint, "urn:mpeg:dash:schema:mpd:2011":ContentComponent, "urn:mpeg:dash:schema:mpd:2011":BaseURL, "urn:mpeg:dash:schema:mpd:2011":SegmentBase, "urn:mpeg:dash:schema:mpd:2011":SegmentList, "urn:mpeg:dash:schema:mpd:2011":SegmentTemplate, "urn:mpeg:dash:schema:mpd:2011":Representation}' is expected.\nMPD validation not successful - DASH is not valid!\n\n\n" ]

Please help us to identify the issue

davemevans commented 10 months ago

Check 5.3.7.3 of the 5th Edition of the DASH spec - ContentProtection and ProducerReferenceTime elements are defined as part of a xs:sequence in RepresentationBaseType. This means that the order is meaningful.

Move ProducerReferenceTime to appear in the expected order (in this case, directly after ContentProtection) in the AdaptationSet and your manifest will validate.

balajic7 commented 10 months ago

Thank you for the update. Manifest validation now successfully passes.