Class: shaka.dash.MpdUtils

MPD processing utility functions.

Members

(private, static, constant) XlinkNamespaceUri_ :string

Type:
  • string
Source:

Methods

(static) createTimeline(segmentTimelinenon-null, timescale, unscaledPresentationTimeOffset, 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
unscaledPresentationTimeOffset 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

(private, static) handleXlinkInElement_(elementnon-null, retryParametersnon-null, failGracefully, baseUri, networkingEnginenon-null, linkDepth) → (non-null) {shaka.util.AbortableOperation.<!Element>}

Follow the xlink link contained in the given element. It also strips the xlink properties off of the element, even if the process fails.
Parameters:
Name Type Description
element Element
retryParameters shakaExtern.RetryParameters
failGracefully boolean
baseUri string
networkingEngine shaka.net.NetworkingEngine
linkDepth number
Source:
Returns:
Type
shaka.util.AbortableOperation.<!Element>

(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) parseXml(data, expectedRootElemName) → {Element|undefined}

Parse some UTF8 data and return the resulting root element if it was valid XML.
Parameters:
Name Type Description
data ArrayBuffer
expectedRootElemName string
Source:
Returns:
Type
Element | undefined
Filter the contents of a node recursively, replacing xlink links with their associated online data.
Parameters:
Name Type Attributes Description
element Element
retryParameters shakaExtern.RetryParameters
failGracefully boolean
baseUri string
networkingEngine shaka.net.NetworkingEngine
opt_linkDepth number <optional>
Source:
Returns:
Type
shaka.util.AbortableOperation.<!Element>

Type Definitions

SegmentInfo

Contains common information between SegmentList and SegmentTemplate items.
Type:
  • {timescale: number, segmentDuration: ?number, startNumber: number, scaledPresentationTimeOffset: number, unscaledPresentationTimeOffset: 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.
scaledPresentationTimeOffset number The presentation time offset of the representation, in seconds.
unscaledPresentationTimeOffset number The presentation time offset of the representation, in timescale units.
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, unscaledStart: number, end: number}
Properties:
Name Type Description
start number The start time of the range.
unscaledStart number The start time of the range in representation timescale units.
end number The end time (exclusive) of the range.
Source: