Class: shaka.dash.MpdUtils

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. 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(dynamic, 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
dynamic boolean
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:
Type
shaka.dash.MpdUtils.SegmentInfo

(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: