DASH-IF-Conformance
DASH-IF-Conformance copied to clipboard
On-Demand Services with Live profiles and first Period element validation failed
Schematron validation is not successful for the manifest composed as "On-Demand Services with Live profiles" if the first <Period/>
element has start
attribute not 0
.
Manifest header sample:
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" availabilityStartTime="1970-01-01T00:00:00Z" mediaPresentationDuration="PT30M0S" maxSegmentDuration="PT2.006S" minBufferTime="PT0S"> <Period id="0" start="PT432100H35M1.514S">
Validator produces the following error:
location="/*[local-name()='MPD' and namespace-uri()='urn:mpeg:dash:schema:mpd:2011']">
If MPD is of type "static" and the first period has a start attribute the start attribute shall be zero.
As per DASH-IF spec https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf
3.10.2. On-Demand Services with Live profiles
25 3.10.2.1. MPD Information
MPD@type
optional, if present set to "static"
It seems, profiles="urn:mpeg:dash:profile:isoff-live:2011"
attribute is ignored during validation and the validator considers the manifest as On-Demand (VoD).
It seems that the validator tests on the requirements in ISO/IEC 23009-1 3rd edition, section 5.3.2.1, where it states "If (i) @start attribute is absent, and (ii) the Period element is the first in the MPD, and (iii) the MPD@type is 'static', then the PeriodStart time shall be set to zero.".
In my case, the first Period@start
is not absent, it's <Period id="0" start="PT432100H35M1.514S">
Also, as per 3.10.2.1. MPD Information section (IOP https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf)
Period@start
- Mandatory for the first Period in the MPD - the start time of the Period relative
to the MPD availability start time.
I suppose the value of the first Period@start
attribute may be non-zero too in case of On-Demand Services with Live profiles.
We’re seeing this issue too, HbbTV checks not recognising live profile in MPD Validator reports:
HbbTV-DVB DASH Validation Requirements check violated for DVB: Section 'Segments' - 'Segment includes features that are not required by the profile being validated against', found 120 sidx boxes while according to Section 4.3 "(For On Demand profile)
[…]
The segment SHALL contain only one single Segment Index box ('sidx) for the entire segment"'. AND DVB check violated: Section 4.3- (For On Demand profile)
But the media is live profile and signalled as profiles="urn:mpeg:dash:profile:isoff-live:2011".
I think that @ssadovski007 is right, and the test in schematron.sch based on a misinterpretation of the spec. #594 proposes a fix.
We’re seeing this issue too, HbbTV checks not recognising live profile in MPD Validator reports:
HbbTV-DVB DASH Validation Requirements check violated for DVB: Section 'Segments' - 'Segment includes features that are not required by the profile being validated against', found 120 sidx boxes while according to Section 4.3 "(For On Demand profile) […] The segment SHALL contain only one single Segment Index box ('sidx) for the entire segment"'. AND DVB check violated: Section 4.3- (For On Demand profile)
But the media is live profile and signalled as profiles="urn:mpeg💨profile:isoff-live:2011".
This issue is likely an error from the segment validator, not the mpd validator, so would seem to be unrelated.
Thanks @wschidol - I've raised it as a different issue: https://github.com/Dash-Industry-Forum/DASH-IF-Conformance/issues/595