MPD processing utility functions.
- Source:
Members
-
(static, constant) GAP_OVERLAP_TOLERANCE_SECONDS :number
-
Specifies how tolerant the player is to inaccurate segment start times and end times within a manifest. For example, gaps or overlaps between segments in a SegmentTimeline which are greater than or equal to this value will result in a warning message.
Type:
- number
- Source:
Methods
-
(static) createTimeline(segmentTimelinenon-null, timescale, presentationTimeOffset, periodDuration) → (non-null) {Array.<shaka.dash.MpdUtils.TimeRange>}
-
Expands a SegmentTimeline into an array-based timeline. The results are in seconds.
Parameters:
Name Type Description segmentTimeline
Element timescale
number presentationTimeOffset
number periodDuration
number The Period's duration in seconds. POSITIVE_INFINITY indicates that the Period continues indefinitely. - Source:
Returns:
- Type
- Array.<shaka.dash.MpdUtils.TimeRange>
-
(static) fillUriTemplate(uriTemplate, representationIdnullable, numbernullable, bandwidthnullable, timenullable) → {string}
-
Fills a SegmentTemplate URI template. This function does not validate the resulting URI.
Parameters:
Name Type Attributes Description uriTemplate
string representationId
string <nullable>
number
number <nullable>
bandwidth
number <nullable>
time
number <nullable>
- Source:
- See:
-
- ISO/IEC 23009-1:2014 section 5.3.9.4.4
Returns:
A URI string.- Type
- string
-
(static) fitSegmentReferences(periodDurationnullable, referencesnon-null)
-
Expands the first SegmentReference so it begins at the start of its Period if it already begins close to the start of its Period, and expands or contracts the last SegmentReference so it ends at the end of its Period for VOD presentations.
Parameters:
Name Type Attributes Description periodDuration
number <nullable>
references
Array.<!shaka.media.SegmentReference> - Source:
-
(static) inheritAttribute(context, callback, attribute) → (nullable) {string}
-
Searches the inheritance for a Segment* with the given attribute.
Parameters:
Name Type Description context
shaka.dash.DashParser.Context callback
function(?shaka.dash.DashParser.InheritanceFrame): Element Gets the Element that contains the attribute to inherit. attribute
string - Source:
Returns:
- Type
- string
-
(static) inheritChild(context, callback, child) → {Element}
-
Searches the inheritance for a Segment* with the given child.
Parameters:
Name Type Description context
shaka.dash.DashParser.Context callback
function(?shaka.dash.DashParser.InheritanceFrame): Element Gets the Element that contains the child to inherit. child
string - Source:
Returns:
- Type
- Element
-
(static) parseSegmentInfo(context, callback) → {shaka.dash.MpdUtils.SegmentInfo}
-
Parses common segment info for SegmentList and SegmentTemplate.
Parameters:
Name Type Description context
shaka.dash.DashParser.Context callback
function(?shaka.dash.DashParser.InheritanceFrame): Element Gets the element that contains the segment info. - Source:
Returns:
-
(static) resolveUris(baseUrisnon-null, relativeUrisnon-null) → (non-null) {Array.<string>}
-
Resolves an array of relative URIs to the given base URIs. This will result in M*N number of URIs.
Parameters:
Name Type Description baseUris
Array.<string> relativeUris
Array.<string> - Source:
Returns:
- Type
- Array.<string>
Type Definitions
-
SegmentInfo
-
Contains common information between SegmentList and SegmentTemplate items.
Type:
- {timescale: number, segmentDuration: ?number, startNumber: number, presentationTimeOffset: number, timeline: Array.<shaka.dash.MpdUtils.TimeRange>}
Properties:
Name Type Attributes Description timescale
number The time-scale of the representation. segmentDuration
number <nullable>
The duration of the segments in seconds, if given. startNumber
number The start number of the segments; 1 or greater. presentationTimeOffset
number The presentationTimeOffset of the representation, in seconds. timeline
Array.<shaka.dash.MpdUtils.TimeRange> The timeline of the representation, if given. Times in seconds. - Source:
-
TimeRange
-
Defines a time range of a media segment. Times are in seconds.
Type:
- {start: number, end: number}
Properties:
Name Type Description start
number The start time of the range. end
number The end time (exclusive) of the range. - Source: