Dash-Industry-Forum / DASH-IF-IOP

DASH-IF Interoperability Points issue tracker and document source code
32 stars 7 forks source link

Player behavior: SegmentTemplate with $time$ and @duration but no SegmentTimeline #427

Open dsilhavy opened 1 month ago

dsilhavy commented 1 month ago

Description

Based on our discussion in the DASH-IF Live Call last week and an issue we addressed recently in dash.js I would like to clarify the right player behavior for content that uses SegmentTemplate with $time$ but does not contain a SegmentTimeline element.

As an example:

 <AdaptationSet
            id="1"
            lang="und"
            contentType="audio"
            segmentAlignment="true"
            mimeType="audio/mp4"
            startWithSAP="1">
            <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
            <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
            <SegmentTemplate
                timescale="48000"
                duration="96096"
                startNumber="1"
                media="$RepresentationID$-$Time$.m4a"
                initialization="$RepresentationID$.init">
            </SegmentTemplate>
            <Representation
                id="stream-audio-1-und-256Kbps"
                bandwidth="256000"
                audioSamplingRate="48000"
                codecs="mp4a.40.2">
            </Representation>
        </AdaptationSet>

Discussion Items

Related Issues

naeoc4509 commented 1 month ago

According to the contents of '@duration' in '5.3.9.5.2 Initialization Segment information' of ISO IEC 23009-1 : 2022 document below,

image

There is no rule for MUST pairing '$Number$ : @duration' and '$time$ : sengmentTimeline'

According to the above document, when using @duration, there is a definition of how '$time$' is determined, so I think it is usable.

According to the document, the @startNumber value is affected, but the @presentationTimeOffset value has no effect on both '$time$' and '$number$'.

When using '$time$' and @duration in mpd, 'Shaka player' matches the @presentationTimeOffset value to the 'start time' value of '$time$', I can't find such content in the above standard document, so I think it is a bug in shaka player related to time calculation.

haudiobe commented 1 month ago

TF 2024/08/16