Class: shaka.Player

Constructor

(export) new Player(mediaElemopt, opt_dependencyInjectoropt)

Construct a Player.
Parameters:
Name Type Attributes Description
mediaElem HTMLMediaElement <optional>
If provided, this is equivalent to calling attach(mediaElem, true) immediately after construction.
opt_dependencyInjector function(shaka.Player)= <optional>
Optional callback which is called to inject mocks into the Player. Used for testing.
Implements:
Extends:
Source:

Extends

Members

(private, static, non-null) supportPlugins_ :Object.<string, function(): *>

Type:
  • Object.<string, function(): *>
Source:

(export, static, constant) version :string

A version number taken from git at compile time.
Type:
  • string
Source:

(private, nullable) abrManagerFactory_ :shakaExtern.AbrManager.Factory

The factory that was used to create the abrManager_ instance.
Type:
Source:

(private, non-null) activeStreamsByPeriod_ :Object.<number, !Object.<string, number>>

A map of Period number to a map of content type to stream id.
Type:
  • Object.<number, !Object.<string, number>>
Source:

(private) buffering_ :boolean

Type:
  • boolean
Source:

(private) currentAudioChannelCount_ :number

Type:
  • number
Source:

(private) currentAudioLanguage_ :string

Type:
  • string
Source:

(private) currentTextLanguage_ :string

Type:
  • string
Source:

(private) currentTextRole_ :string

Type:
  • string
Source:

(private) currentVariantRole_ :string

Type:
  • string
Source:

(private, nullable) deferredTextStream_ :shakaExtern.Stream

Type:
Source:

(private, nullable) deferredVariant_ :shakaExtern.Variant

Type:
Source:

(private) deferredVariantClearBuffer_ :boolean

Type:
  • boolean
Source:

(private) destroyed_ :boolean

Type:
  • boolean
Source:

dispatchTarget :EventTarget

The target of all dispatched events. Defaults to |this|.
Type:
  • EventTarget
Inherited From:
Source:

(private) drmEngine_ :shaka.media.DrmEngine

Type:
Source:

(private) eventManager_ :shaka.util.EventManager

Type:
Source:

(private) lastTimeStatsUpdateTimestamp_ :number

Type:
  • number
Source:

(private, non-null) loadingTextStreamIds_ :Array.<number>

Type:
  • Array.<number>
Source:

(private, nullable) manifest_ :shakaExtern.Manifest

Type:
Source:

manifest_

Source:

(private, nullable) manifestUri_ :string

Type:
  • string
Source:

(private) maxHwRes_ :{width: number, height: number}

Type:
  • {width: number, height: number}
Source:

(private) networkingEngine_ :shaka.net.NetworkingEngine

Type:
Source:

(private) nextExternalStreamId_ :number

Contains an ID for use with creating streams. The manifest parser should start with small IDs, so this starts with a large one.
Type:
  • number
Source:

(private, nullable) onCancelLoad_ :?function()

Type:
  • ?function()
Source:

(private, non-null) pendingTimelineRegions_ :Array.<shakaExtern.TimelineRegionInfo>

Type:
Source:

(private) playhead_ :shaka.media.Playhead

Type:
Source:

(private) stats_ :shakaExtern.Stats

Type:
Source:

(private) switchingPeriods_ :boolean

Type:
  • boolean
Source:

(private) textVisibility_ :boolean

Only holds the visibility setting until a textDisplayer_ is created.
Type:
  • boolean
Source:

(private) unloadChain_ :Promise

Type:
  • Promise
Source:

(non-null) video_ :HTMLVideoElement

Type:
  • HTMLVideoElement
Source:

(private) video_ :HTMLMediaElement

Type:
Source:

Methods

(export, static) isBrowserSupported() → {boolean}

Return whether the browser provides basic support. If this returns false, Shaka Player cannot be used at all. In this case, do not construct a Player instance and do not use the library.
Source:
Returns:
Type
boolean

(export, static) probeSupport() → (non-null) {Promise.<shakaExtern.SupportType>}

Probes the browser to determine what features are supported. This makes a number of requests to EME/MSE/etc which may result in user prompts. This should only be used for diagnostics. NOTE: This may show a request to the user for permission.
Source:
See:
Returns:
Type
Promise.<shakaExtern.SupportType>

(export, static) registerSupportPlugin(name, callback)

Registers a plugin callback that will be called with support(). The callback will return the value that will be stored in the return value from support().
Parameters:
Name Type Description
name string
callback function():*
Source:

(export) addEventListener(type, listener, opt_optionsopt)

Add an event listener to this object.
Parameters:
Name Type Attributes Description
type string The event type to listen for.
listener shaka.util.FakeEventTarget.ListenerType The callback or listener object to invoke.
opt_options AddEventListenerOptions | boolean <optional>
Ignored.
Inherited From:
Source:

(private) addTextStreamToSwitchHistory_(textStream, fromAdaptation)

Parameters:
Name Type Description
textStream shakaExtern.Stream
fromAdaptation boolean
Source:

(export) addTextTrack(uri, language, kind, mime, opt_codecopt, opt_labelopt) → (non-null) {Promise.<shakaExtern.Track>}

Adds the given text track to the current Period. load() must resolve before calling. The current Period or the presentation must have a duration. This returns a Promise that will resolve with the track that was created, when that track can be switched to.
Parameters:
Name Type Attributes Description
uri string
language string
kind string
mime string
opt_codec string <optional>
opt_label string <optional>
Source:
Returns:
Type
Promise.<shakaExtern.Track>

(private) addVariantToSwitchHistory_(variant, fromAdaptation)

Parameters:
Name Type Description
variant shakaExtern.Variant
fromAdaptation boolean
Source:

(private) adjustStartTime_(time) → {number}

Parameters:
Name Type Description
time number
Source:
Returns:
Type
number

(private) applyConfig_()

Apply config changes.
Source:

(private) applyPlayRange_()

Applys playRangeStart and playRangeEnd to this.manifest_.
Source:

(private) assertCorrectActiveStreams_()

Verifies that the active streams according to the player match those in StreamingEngine.
Source:

(export) attach(mediaElemnon-null, initializeMediaSourceopt) → (non-null) {Promise}

Attach the Player to a media element (audio or video tag). If the Player is already attached to a media element, the previous element will first be detached. After calling attach, the media element is owned by the Player and should not be used for other purposes until detach or destroy() are called.
Parameters:
Name Type Attributes Description
mediaElem HTMLMediaElement
initializeMediaSource boolean <optional>
If true, start initializing MediaSource right away. This can improve load() latency for MediaSource-based playbacks. Defaults to true.
Source:
Returns:
If initializeMediaSource is false, the Promise is resolved as soon as the Player has released any previous media element and taken ownership of the new one. If initializeMediaSource is true, the Promise resolves after MediaSource has been subsequently initialized on the new media element.
Type
Promise

(private) cancelLoad_() → (non-null) {Promise}

Source:
Returns:
Type
Promise

(export) cancelTrickPlay()

Cancel trick-play.
Source:

(private) canSwitch_()

Callback from StreamingEngine, invoked when the period is set up.
Source:

(private) chooseCodecsAndFilterManifest_()

In case of multiple usable codecs, choose one based on lowest average bandwidth and filter out the rest.
Source:

(private) chooseStreamsAndSwitch_(periodnon-null)

Chooses streams from the given Period and switches to them. Called after a config change, a new text stream, a key status event, or an explicit language change.
Parameters:
Name Type Description
period shakaExtern.Period
Source:

(private) chooseVariant_(variantsnon-null) → (nullable) {shakaExtern.Variant}

Chooses a variant through the ABR manager. On error, this dispatches an error event and returns null.
Parameters:
Name Type Description
variants Array.<shakaExtern.Variant>
Source:
Returns:
Type
shakaExtern.Variant

(private) configOverrides_() → (non-null) {Object}

Source:
Returns:
Type
Object

(export) configure(config, valueopt) → {boolean}

Configure the Player instance. The config object passed in need not be complete. It will be merged with the existing Player configuration. Config keys and types will be checked. If any problems with the config object are found, errors will be reported through logs and this returns false. If there are errors, valid config objects are still set.
Parameters:
Name Type Attributes Description
config string | Object This should either be a field name or an object following the form of shakaExtern.PlayerConfiguration, where you may omit any field you do not wish to change.
value * <optional>
This should be provided if the previous parameter was a string field name.
Source:
Returns:
True if the passed config object was valid, false if there were invalid entries.
Type
boolean

(private) convertToConfigObject_(fieldName, value) → (non-null) {Object}

Convert config from ('fieldName', value) format to a partial shakaExtern.PlayerConfiguration object. E. g. from ('manifest.retryParameters.maxAttempts', 1) to { manifest: { retryParameters: { maxAttempts: 1 }}}.
Parameters:
Name Type Description
fieldName string
value *
Source:
Returns:
Type
Object

createDrmEngine() → (non-null) {shaka.media.DrmEngine}

Creates a new instance of DrmEngine. This can be replaced by tests to create fake instances instead.
Source:
Returns:
Type
shaka.media.DrmEngine

createMediaSourceEngine() → (non-null) {shaka.media.MediaSourceEngine}

Creates a new instance of MediaSourceEngine. This can be replaced by tests to create fake instances instead.
Source:
Returns:
Type
shaka.media.MediaSourceEngine

createNetworkingEngine() → (non-null) {shaka.net.NetworkingEngine}

Creates a new instance of NetworkingEngine. This can be replaced by tests to create fake instances instead.
Source:
Returns:
Type
shaka.net.NetworkingEngine

createPlayhead(opt_startTimeopt) → (non-null) {shaka.media.Playhead}

Creates a new instance of Playhead. This can be replaced by tests to create fake instances instead.
Parameters:
Name Type Attributes Description
opt_startTime number <optional>
Source:
Returns:
Type
shaka.media.Playhead

createPlayheadObserver() → (non-null) {shaka.media.PlayheadObserver}

Creates a new instance of PlayheadOvserver. This can be replaced by tests to create fake instances instead.
Source:
Returns:
Type
shaka.media.PlayheadObserver

createStreamingEngine() → (non-null) {shaka.media.StreamingEngine}

Creates a new instance of StreamingEngine. This can be replaced by tests to create fake instances instead.
Source:
Returns:
Type
shaka.media.StreamingEngine

(private) defaultConfig_() → {shakaExtern.PlayerConfiguration}

Source:
Returns:
Type
shakaExtern.PlayerConfiguration

(private) defaultStreamingFailureCallback_(errornon-null)

Parameters:
Name Type Description
error shaka.util.Error
Source:

(export) destroy() → (non-null) {Promise}

After destruction, a Player object cannot be used again.
Implements:
Source:
Returns:
Type
Promise

(private) destroyStreaming_() → (non-null) {Promise}

Destroy members responsible for streaming.
Source:
Returns:
Type
Promise

(export) detach() → (non-null) {Promise}

Detaches the Player from the media element (audio or video tag). After calling detach and waiting for the Promise to be resolved, the media element is no longer owned by the Player and may be used for other purposes.
Source:
Returns:
Resolved when the Player has released any previous media element.
Type
Promise

(export) dispatchEvent(eventnon-null) → {boolean}

Dispatch an event from this object.
Parameters:
Name Type Description
event Event The event to be dispatched from this object.
Inherited From:
Source:
Returns:
True if the default action was prevented.
Type
boolean

(export) drmInfo() → (nullable) {shakaExtern.DrmInfo}

Get the DrmInfo used to initialize EME. This returns null when not using EME.
Source:
Returns:
Type
shakaExtern.DrmInfo

(private) filterAllPeriods_(periodsnon-null)

Filters a list of periods.
Parameters:
Name Type Description
periods Array.<!shakaExtern.Period>
Source:

(private) filterManifestForAVVariants_()

When there is a variant with video and audio, filter out all variants which lack one or the other. This is to avoid problems where we choose audio-only variants because they have lower bandwidth, when there are variants with video available.
Source:

(private) filterNewPeriod_(period)

Filters a new period.
Parameters:
Name Type Description
period shakaExtern.Period
Source:

(export) getAudioLanguages() → (non-null) {Array.<string>}

Return a list of audio languages available for the current Period.
Source:
Returns:
Type
Array.<string>

(export) getAudioLanguagesAndRoles() → (non-null) {Array.<shakaExtern.LanguageRole>}

Return a list of audio language-role combinations available for the current Period.
Source:
Returns:
Type
Array.<shakaExtern.LanguageRole>

(export) getBufferedInfo() → {shakaExtern.BufferedInfo}

Return the information about the current buffered ranges.
Source:
Returns:
Type
shakaExtern.BufferedInfo

(private) getCleanStats_() → {shakaExtern.Stats}

Source:
Returns:
Type
shakaExtern.Stats

(export) getConfiguration() → {shakaExtern.PlayerConfiguration}

Return a copy of the current configuration. Modifications of the returned value will not affect the Player's active configuration. You must call player.configure() to make changes.
Source:
Returns:
Type
shakaExtern.PlayerConfiguration

(export) getExpiration() → {number}

The next known expiration time for any EME session. If the sessions never expire, or there are no EME sessions, this returns Infinity.
Source:
Returns:
Type
number

(private) getLanguagesAndRoles_(streamsnon-null) → (non-null) {Array.<shakaExtern.LanguageRole>}

Given a list of streams, return a list of language-role combinations available for them.
Parameters:
Name Type Description
streams Array.<?shakaExtern.Stream>
Source:
Returns:
Type
Array.<shakaExtern.LanguageRole>

(export) getManifest() → (nullable) {shakaExtern.Manifest}

Return the manifest information if it's loaded. Otherwise, return null.
Source:
Returns:
Type
shakaExtern.Manifest

(export) getManifestUri() → (nullable) {string}

Source:
Returns:
If a manifest is loaded, returns the manifest URI given in the last call to load(). Otherwise, returns null.
Type
string

(export) getMediaElement() → {HTMLMediaElement}

Source:
Returns:
A reference to the HTML Media Element passed to the constructor or to attach().
Type
HTMLMediaElement

(export) getNetworkingEngine() → {shaka.net.NetworkingEngine}

Source:
Returns:
A reference to the Player's networking engine. Applications may use this to make requests through Shaka's networking plugins.
Type
shaka.net.NetworkingEngine

(export) getPlaybackRate() → {number}

Gets the current effective playback rate. If using trick play, it will return the current trick play rate; otherwise, it will return the video playback rate.
Source:
Returns:
Type
number

(export) getPlayheadTimeAsDate() → {Date}

Returns current playhead time as a Date.
Source:
Returns:
Type
Date

(export) getPresentationStartTimeAsDate() → {Date}

Returns the presentation start time as a Date.
Source:
Returns:
Type
Date

(export) getStats() → {shakaExtern.Stats}

Return playback and adaptation stats.
Source:
Returns:
Type
shakaExtern.Stats

(export) getTextLanguages() → (non-null) {Array.<string>}

Return a list of text languages available for the current Period.
Source:
Returns:
Type
Array.<string>

(export) getTextLanguagesAndRoles() → (non-null) {Array.<shakaExtern.LanguageRole>}

Return a list of text language-role combinations available for the current Period.
Source:
Returns:
Type
Array.<shakaExtern.LanguageRole>

(export) getTextTracks() → (non-null) {Array.<shakaExtern.Track>}

Return a list of text tracks available for the current Period. If there are multiple Periods, then you must seek to the Period before being able to switch.
Source:
Returns:
Type
Array.<shakaExtern.Track>

(export) getVariantTracks() → (non-null) {Array.<shakaExtern.Track>}

Return a list of variant tracks available for the current Period. If there are multiple Periods, then you must seek to the Period before being able to switch.
Source:
Returns:
Type
Array.<shakaExtern.Track>

(export) isAudioOnly() → {boolean}

Source:
Returns:
True for audio-only content. False otherwise.
Type
boolean

(export) isBuffering() → {boolean}

Source:
Returns:
True if the Player is in a buffering state.
Type
boolean

(export) isInProgress() → {boolean}

Source:
Returns:
True if the current stream is in-progress VOD. False otherwise.
Type
boolean

(export) isLive() → {boolean}

Source:
Returns:
True if the current stream is live. False otherwise.
Type
boolean

(export) isTextTrackVisible() → {boolean}

Source:
Returns:
True if the current text track is visible.
Type
boolean

(export) keySystem() → {string}

Get the key system currently being used by EME. This returns the empty string if not using EME.
Source:
Returns:
Type
string

(export) load(manifestUri, opt_startTimeopt, opt_manifestParserFactoryopt) → (non-null) {Promise}

Load a manifest.
Parameters:
Name Type Attributes Description
manifestUri string
opt_startTime number <optional>
Optional start time, in seconds, to begin playback. Defaults to 0 for VOD and to the live edge for live. Set a positive number to start with a certain offset the beginning. Set a negative number to start with a certain offset from the end. This is intended for use with live streams, to start at a fixed offset from the live edge.
opt_manifestParserFactory shakaExtern.ManifestParser.Factory <optional>
Optional manifest parser factory to override auto-detection or use an unregistered parser.
Source:
Returns:
Resolved when the manifest has been loaded and playback has begun; rejected when an error occurs or the call was interrupted by destroy(), unload() or another call to load().
Type
Promise

(private) loadManifest_(manifestUri, opt_manifestParserFactoryopt) → (non-null) {Promise.<shakaExtern.Manifest>}

Creates a manifest parser and loads the given manifest.
Parameters:
Name Type Attributes Description
manifestUri string
opt_manifestParserFactory shakaExtern.ManifestParser.Factory <optional>
Optional manifest parser factory to override auto-detection or use an unregistered parser.
Source:
Returns:
Resolves with the manifest.
Type
Promise.<shakaExtern.Manifest>

(private) onAdaptation_()

Dispatches an 'adaptation' event.
Source:

(private) onBuffering_(buffering)

Callback from PlayheadObserver.
Parameters:
Name Type Description
buffering boolean
Source:

(private) onChangePeriod_()

Callback from PlayheadObserver.
Source:

(private) onChooseStreams_(periodnon-null) → {shaka.media.StreamingEngine.ChosenStreams}

Callback from StreamingEngine, invoked when a period starts.
Parameters:
Name Type Description
period shakaExtern.Period
Source:
Returns:
An object containing the chosen variant and text stream.
Type
shaka.media.StreamingEngine.ChosenStreams

(private) onError_(errornon-null)

Parameters:
Name Type Description
error shaka.util.Error
Source:

(private) onEvent_(eventnon-null)

Parameters:
Name Type Description
event Event
Source:

(private) onExpirationUpdated_(keyId, expiration)

Callback from DrmEngine
Parameters:
Name Type Description
keyId string
expiration number
Source:

(private) onKeyStatus_(keyStatusMapnon-null)

Parameters:
Name Type Description
keyStatusMap Object.<string, string> A map of hex key IDs to statuses.
Source:

(private) onManifestUpdate_()

Callback from StreamingEngine.
Source:

(private) onSeek_()

Callback from Playhead.
Source:

(private) onSegmentAppended_()

Callback from StreamingEngine.
Source:

(private) onSegmentDownloaded_(deltaTimeMs, numBytes)

Callback from NetworkingEngine.
Parameters:
Name Type Description
deltaTimeMs number
numBytes number
Source:

(private) onTextTrackVisibility_()

Source:

(private) onTimelineRegionAdded_(region)

Parameters:
Name Type Description
region shakaExtern.TimelineRegionInfo
Source:

(private) onTracksChanged_()

Dispatches a 'trackschanged' event.
Source:

(private) onVideoError_(eventnon-null)

Parameters:
Name Type Description
event Event
Source:

(export) removeEventListener(type, listener, opt_optionsopt)

Remove an event listener from this object.
Parameters:
Name Type Attributes Description
type string The event type for which you wish to remove a listener.
listener shaka.util.FakeEventTarget.ListenerType The callback or listener object to remove.
opt_options EventListenerOptions | boolean <optional>
Ignored.
Inherited From:
Source:

(export) resetConfiguration()

Reset configuration to default.
Source:

(export) retryStreaming() → {boolean}

Retry streaming after a failure. Does nothing if not in a failure state.
Source:
Returns:
False if unable to retry.
Type
boolean

(export) seekRange() → {{start: number, end: number}}

Get the seekable range for the current stream.
Source:
Returns:
Type
{start: number, end: number}

(export) selectAudioLanguage(language, opt_roleopt)

Sets currentAudioLanguage and currentVariantRole to the selected language and role, and chooses a new variant if need be.
Parameters:
Name Type Attributes Description
language string
opt_role string <optional>
Source:

(export) selectEmbeddedTextTrack()

Use the embedded text for the current stream, if present. CEA 608/708 captions data is embedded inside the video stream.
Source:

(export) selectTextLanguage(language, opt_roleopt)

Sets currentTextLanguage and currentTextRole to the selected language and role, and chooses a new text stream if need be.
Parameters:
Name Type Attributes Description
language string
opt_role string <optional>
Source:

(export) selectTextTrack(track)

Select a specific text track. Note that AdaptationEvents are not fired for manual track selections.
Parameters:
Name Type Description
track shakaExtern.Track
Source:

(export) selectVariantTrack(track, opt_clearBufferopt)

Select a specific track. Note that AdaptationEvents are not fired for manual track selections.
Parameters:
Name Type Attributes Description
track shakaExtern.Track
opt_clearBuffer boolean <optional>
Source:

(export) setMaxHardwareResolution(width, height)

Set the maximum resolution that the platform's hardware can handle. This will be called automatically by shaka.cast.CastReceiver to enforce limitations of the Chromecast hardware.
Parameters:
Name Type Description
width number
height number
Source:

(export) setTextTrackVisibility(on)

Set the visibility of the current text track, if any.
Parameters:
Name Type Description
on boolean
Source:

(private) streamText_() → {boolean}

Source:
Returns:
true if we should stream text right now.
Type
boolean

(private) switch_(variant, opt_clearBufferopt)

Callback from AbrManager.
Parameters:
Name Type Attributes Description
variant shakaExtern.Variant
opt_clearBuffer boolean <optional>
Source:

(private) switchTextStream_(textStream)

Switches to the given text stream, deferring if needed.
Parameters:
Name Type Description
textStream shakaExtern.Stream
Source:

(private) switchVariant_(variant, opt_clearBufferopt)

Switches to the given variant, deferring if needed.
Parameters:
Name Type Attributes Description
variant shakaExtern.Variant
opt_clearBuffer boolean <optional>
Source:

(export) trickPlay(rate)

Skip through the content without playing. Simulated using repeated seeks. Trick play will be canceled automatically if the playhead hits the beginning or end of the seekable range for the content.
Parameters:
Name Type Description
rate number The playback rate to simulate. For example, a rate of 2.5 would result in 2.5 seconds of content being skipped every second. To trick-play backward, use a negative rate.
Source:

(export) unload(reinitializeMediaSourceopt) → (non-null) {Promise}

Unload the current manifest and make the Player available for re-use.
Parameters:
Name Type Attributes Description
reinitializeMediaSource boolean <optional>
If true, start reinitializing MediaSource right away. This can improve load() latency for MediaSource-based playbacks. Defaults to true.
Source:
Returns:
If reinitializeMediaSource is false, the Promise is resolved as soon as streaming has stopped and the previous content, if any, has been unloaded. If reinitializeMediaSource is true or undefined, the Promise resolves after MediaSource has been subsequently reinitialized.
Type
Promise

(private) updateActiveStreams_(streamnon-null)

Parameters:
Name Type Description
stream shakaExtern.Stream
Source:

(private) updateState_()

Called from potential initiators of state changes, or before returning stats to the user. This method decides if state has actually changed, updates the last entry, and adds a new one if needed.
Source:

(private) updateTimeStats_()

Source:

(export) usingEmbeddedTextTrack() → {boolean}

Source:
Returns:
True if we are using any embedded text tracks present.
Type
boolean

Events

AdaptationEvent

Fired when an automatic adaptation causes the active tracks to change. Does not fire when the application calls selectVariantTrack() selectTextTrack(), selectAudioLanguage() or selectTextLanguage().
Properties:
Name Type Description
type string 'adaptation'
Source:

BufferingEvent

Fired when the player's buffering state changes.
Properties:
Name Type Description
type string 'buffering'
buffering boolean True when the Player enters the buffering state. False when the Player leaves the buffering state.
Source:

DrmSessionUpdateEvent

Fired when the CDM has accepted the license response.
Properties:
Name Type Description
type string 'drmsessionupdate'
Source:

EmsgEvent

Fired when a non-typical emsg is found in a segment.
Properties:
Name Type Description
type string 'emsg'
detail shakaExtern.EmsgInfo An object which contains the content of the emsg box.
Source:

ErrorEvent

Fired when a playback error occurs.
Properties:
Name Type Description
type string 'error'
detail shaka.util.Error An object which contains details on the error. The error's 'category' and 'code' properties will identify the specific error that occurred. In an uncompiled build, you can also use the 'message' and 'stack' properties to debug.
Source:

ExpirationUpdatedEvent

Fired when there is a change in the expiration times of an EME session.
Properties:
Name Type Description
type string 'expirationupdated'
Source:

LargeGapEvent

Fired when the playhead enters a large gap. If |config.streaming.jumpLargeGaps| is set, the default action of this event is to jump the gap; this can be prevented by calling preventDefault() on the event object.
Properties:
Name Type Description
type string 'largegap'
currentTime number The current time of the playhead.
gapSize number The size of the gap, in seconds.
Source:

LoadingEvent

Fired when the player begins loading. Used by the Cast receiver to determine idle state.
Properties:
Name Type Description
type string 'loading'
Source:

StreamingEvent

Fired after the manifest has been parsed and track information is available, but before streams have been chosen and before any segments have been fetched. You may use this event to configure the player based on information found in the manifest.
Properties:
Name Type Description
type string 'streaming'
Source:

TextTrackVisibilityEvent

Fired when text track visibility changes.
Properties:
Name Type Description
type string 'texttrackvisibility'
Source:

TimelineRegionAddedEvent

Fired when a media timeline region is added.
Properties:
Name Type Description
type string 'timelineregionadded'
detail shakaExtern.TimelineRegionInfo An object which contains a description of the region.
Source:

TimelineRegionEnterEvent

Fired when the playhead enters a timeline region.
Properties:
Name Type Description
type string 'timelineregionenter'
detail shakaExtern.TimelineRegionInfo An object which contains a description of the region.
Source:

TimelineRegionExitEvent

Fired when the playhead exits a timeline region.
Properties:
Name Type Description
type string 'timelineregionexit'
detail shakaExtern.TimelineRegionInfo An object which contains a description of the region.
Source:

TracksChangedEvent

Fired when the list of tracks changes. For example, this will happen when changing periods or when track restrictions change.
Properties:
Name Type Description
type string 'trackschanged'
Source:

UnloadingEvent

Fired when the player unloads or fails to load. Used by the Cast receiver to determine idle state.
Properties:
Name Type Description
type string 'unloading'
Source: