diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js
index f7edf444d1..69dc4d9a96 100644
--- a/src/plugins/htmlVideoPlayer/plugin.js
+++ b/src/plugins/htmlVideoPlayer/plugin.js
@@ -349,7 +349,7 @@ function supportsTextTracks() {
hls.loadSource(url);
hls.attachMedia(elem);
- htmlMediaHelper.bindEventsToHlsPlayer(this, hls, elem, this.onError.bind(this), resolve, reject);
+ htmlMediaHelper.bindEventsToHlsPlayer(this, hls, elem, this.onError, resolve, reject);
this._hlsPlayer = hls;
@@ -362,8 +362,7 @@ function supportsTextTracks() {
/**
* @private
*/
- onShakaError(event) {
-
+ onShakaError = (event) => {
const error = event.detail;
console.error('Error code', error.code, 'object', error);
}
@@ -392,7 +391,7 @@ function supportsTextTracks() {
//shaka.log.setLevel(6);
// Listen for error events.
- player.addEventListener('error', this.onShakaError.bind(this));
+ player.addEventListener('error', this.onShakaError);
this._shakaPlayer = player;
@@ -441,8 +440,7 @@ function supportsTextTracks() {
* Adapted from : https://github.com/googlecast/CastReferencePlayer/blob/master/player.js
* @private
*/
- onMediaManagerLoadMedia(event) {
-
+ onMediaManagerLoadMedia = (event) => {
if (this._castPlayer) {
this._castPlayer.unload(); // Must unload before starting again.
}
@@ -498,7 +496,7 @@ function supportsTextTracks() {
*/
initMediaManager() {
mediaManager.defaultOnLoad = mediaManager.onLoad.bind(mediaManager);
- mediaManager.onLoad = this.onMediaManagerLoadMedia.bind(this);
+ mediaManager.onLoad = this.onMediaManagerLoadMedia;
//mediaManager.defaultOnPlay = mediaManager.onPlay.bind(mediaManager);
//mediaManager.onPlay = function (event) {
@@ -517,7 +515,7 @@ function supportsTextTracks() {
* @private
*/
setCurrentSrc(elem, options) {
- elem.removeEventListener('error', this.onError.bind(this));
+ elem.removeEventListener('error', this.onError);
let val = options.url;
console.debug('playing url: ' + val);
@@ -574,7 +572,7 @@ function supportsTextTracks() {
return htmlMediaHelper.applySrc(elem, val, options).then(() => {
this._currentSrc = val;
- return htmlMediaHelper.playWithPromise(elem, this.onError.bind(this));
+ return htmlMediaHelper.playWithPromise(elem, this.onError);
});
}
}
@@ -783,7 +781,7 @@ function supportsTextTracks() {
elem.pause();
}
- htmlMediaHelper.onEndedInternal(this, elem, this.onError.bind(this));
+ htmlMediaHelper.onEndedInternal(this, elem, this.onError);
if (destroyPlayer) {
this.destroy();
@@ -807,15 +805,15 @@ function supportsTextTracks() {
this._mediaElement = null;
this.destroyCustomTrack(videoElement);
- videoElement.removeEventListener('timeupdate', this.onTimeUpdate.bind(this));
- videoElement.removeEventListener('ended', this.onEnded.bind(this));
- videoElement.removeEventListener('volumechange', this.onVolumeChange.bind(this));
- videoElement.removeEventListener('pause', this.onPause.bind(this));
- videoElement.removeEventListener('playing', this.onPlaying.bind(this));
- videoElement.removeEventListener('play', this.onPlay.bind(this));
- videoElement.removeEventListener('click', this.onClick.bind(this));
- videoElement.removeEventListener('dblclick', this.onDblClick.bind(this));
- videoElement.removeEventListener('waiting', this.onWaiting.bind(this));
+ videoElement.removeEventListener('timeupdate', this.onTimeUpdate);
+ videoElement.removeEventListener('ended', this.onEnded);
+ videoElement.removeEventListener('volumechange', this.onVolumeChange);
+ videoElement.removeEventListener('pause', this.onPause);
+ videoElement.removeEventListener('playing', this.onPlaying);
+ videoElement.removeEventListener('play', this.onPlay);
+ videoElement.removeEventListener('click', this.onClick);
+ videoElement.removeEventListener('dblclick', this.onDblClick);
+ videoElement.removeEventListener('waiting', this.onWaiting);
videoElement.parentNode.removeChild(videoElement);
}
@@ -833,22 +831,32 @@ function supportsTextTracks() {
/**
* @private
+ * @param e {Event} The event received from the `