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:
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 |
player.otvtoolkit().networkStatistics.setNetworkListener({
selectedBitrateChanged: () => {
console.log("Selected bitrate changed");
}
});