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 `