DASH-IF-Conformance icon indicating copy to clipboard operation
DASH-IF-Conformance copied to clipboard

On-Demand Services with Live profiles and first Period element validation failed

Open ssadovski007 opened this issue 5 years ago • 6 comments

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).

ssadovski007 avatar Apr 18 '19 14:04 ssadovski007

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.".

wschidol avatar Apr 18 '19 14:04 wschidol

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.

ssadovski007 avatar Apr 26 '19 09:04 ssadovski007

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".

andyburras avatar Jun 28 '22 13:06 andyburras

I think that @ssadovski007 is right, and the test in schematron.sch based on a misinterpretation of the spec. #594 proposes a fix.

wschidol avatar Jun 28 '22 18:06 wschidol

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.

wschidol avatar Jun 28 '22 18:06 wschidol

Thanks @wschidol - I've raised it as a different issue: https://github.com/Dash-Industry-Forum/DASH-IF-Conformance/issues/595

andyburras avatar Jun 29 '22 07:06 andyburras