Skip to main content
Skip table of contents

Browser plugins to Browsers and Connected TV SDK 5.x Migration Guide

Video Agent

Video Agent events

The Browsers and Connected TV SDK 5 supports all the VideoAgent events present in the PPAPI/NPAPI plugins, these are now registered directly against the player instance using a listener e.g. player.on("event", () =>{}).

VideoAgent events support:

  • abort

  • canplay

  • canplaythrough

  • durationchange

  • emptied

  • ended

  • error

  • loadedmetadata

  • loadstart

  • pause

  • play

  • playing

  • progress

  • seeked

  • seeking

  • stalled

  • timeupdate

  • volumechange

  • waiting

Video Agent properties

All VideoAgent properties are now functions against the player instance object.

Property

Function

Notes

autoplay

autoplay()

controls

controls()

currentSrc

currentSrc()

currentTime

currentTime()

disableSeek

Not implemented

duration

duration()

ended

ended()

error

error()

maximumSeekBack

seekable()

Deprecated, see seekable()

muted

muted()

networkState

networkState()

onerror

onload

paused

paused()

readyState

readyState()

seekable

seekable()

Returns a TimeRange object

seeking

seeking()

src

src()

videoHeight

videoHeight()

videoWidth

videoWidth()

volume

volume()

Playback Agent

Track selection

The activateTrack and deactivateTrack methods do not have direct mappings in the Browser SDK. Track selection and deselection is now handled by iterating over a TextTrackList or AudioTrackList returned by the textTracks() and audioTracks() methods.

This is an example of selecting English subtitles:

JS
let tracks = player.textTracks();

for (let i = 0; i < tracks.length; i++) {
	let track = tracks[i];

	// Show the English subtitle track, disable all others
	if (track.kind === "subtitles" && track.language === "en") {
		track.mode = "showing";
	} else {
		track.mode = "disabled";
	}
}

Playback Agent events

Plugin event

Browser event

Notes

errorChanged

Not implemented

ID3TagChanged

Not implemented

streamBitrateChanged

tracksChanged

addtrack / removetrack

These events are implemented in TextTrackList and AudioTrackList

Playback Agent properties

Property

Mapping

Notes

audioTracks

audioTracks()

The track list returned is not compatible

subtitlingTracks

textTracks()

The track list returned is not compatible

Network Agent

Network Agent events

Event

Object

Event

selectedBitrateChanged

networkStatistics

selectedBitrateChanged

JS
player.otvtoolkit().networkStatistics.setNetworkListener({
	selectedBitrateChanged: () => {
		console.log("Selected bitrate changed");
	}
});
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.