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

Conformance tool problem?

Open nicoweilelemental opened this issue 3 years ago • 1 comments

Hi,

I have a live manifest with a video AdaptationSet@bitstreamSwitching="true" but without @codec attribute, which contradicts IOP 6.2.5.2’s “The AdaptationSet@codecs attribute shall be present and equal the maximum profile and level of any Representation contained in the Adaptation Set”.

But when I run the conformance tool on it – with the DASH-IF additional test – I’m not getting any error. I tried to manually add the http://dashif.org/guidelines/dash-if-main and https://dashif.org/guidelines/dash264 profile references to the manifest, still no error. I’m wondering if my understanding of the IOP is wrong, or if it’s the conformance tool implementation that is not correctly enforcing the constraints. Any opinion?

Manifest: https://ccf3786b925ee51c.mediapackage.us-east-1.amazonaws.com/out/v1/6ba06d17f65b4e1cbd1238eaa05c02c1/index.mpd

Sample:

<AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1" bitstreamSwitching="true">
      <Representation id="1" width="1920" height="1080" frameRate="30/1" bandwidth="5000000" codecs="avc1.640032">
        <SegmentTemplate timescale="30000" media="index_video_1_0_$Time$.mp4?m=1601056091" initialization="index_video_1_0_init.mp4?m=1601056091" startNumber="7276939" presentationTimeOffset="1228456612115">
          <SegmentTimeline>
            <S t="1228457323115" d="180000"/>
            <S t="1228457503115" d="60000"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
      <Representation id="2" width="1280" height="720" frameRate="30/1" bandwidth="3000000" codecs="avc1.64001F">
        <SegmentTemplate timescale="30000" media="index_video_3_0_$Time$.mp4?m=1601056091" initialization="index_video_3_0_init.mp4?m=1601056091" startNumber="7276939" presentationTimeOffset="1228456612115">
          <SegmentTimeline>
            <S t="1228457323115" d="180000"/>
            <S t="1228457503115" d="60000"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
      <Representation id="3" width="640" height="360" frameRate="30/1" bandwidth="1499968" codecs="avc1.4D401E">
        <SegmentTemplate timescale="30000" media="index_video_17_0_$Time$.mp4?m=1601056091" initialization="index_video_17_0_init.mp4?m=1601056091" startNumber="7276939" presentationTimeOffset="1228456612115">
          <SegmentTimeline>
            <S t="1228457323115" d="180000"/>
            <S t="1228457503115" d="60000"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
    </AdaptationSet>

Thanks, Nicolas

nicoweilelemental avatar Mar 12 '21 17:03 nicoweilelemental

FYI, this is not optional in MPEG DASH (despite the "O" in the syntax table and referring to it as an "element"). The description of this attribute says: "For segment formats defined in this document, this element shall be present..."

mikedo avatar Mar 16 '22 14:03 mikedo