CONNECT Player SDK 5 for Browsers and Connected TV

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:

JavaScript
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

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