diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js
index 11c5c85954..cdae1e3fce 100644
--- a/src/plugins/htmlVideoPlayer/plugin.js
+++ b/src/plugins/htmlVideoPlayer/plugin.js
@@ -30,10 +30,6 @@ import globalize from 'globalize';
/* eslint-disable indent */
- /* globals cast */
-
-let mediaManager;
-
function tryRemoveElement(elem) {
const parentNode = elem.parentNode;
if (parentNode) {
@@ -186,10 +182,6 @@ function tryRemoveElement(elem) {
* @type {number | null}
*/
#audioTrackIndexToSetOnPlaying;
- /**
- * @type {number | undefined}
- */
- #lastCustomTrackMs;
/**
* @type {null | undefined}
*/
@@ -259,10 +251,6 @@ function tryRemoveElement(elem) {
* @type {any | undefined}
*/
_hlsPlayer;
- /**
- * @type {any | undefined}
- */
- #shakaPlayer;
/**
* @private (used in other files)
* @type {any | null | undefined}
@@ -423,51 +411,6 @@ function tryRemoveElement(elem) {
});
}
- /**
- * @private
- */
- onShakaError = (event) => {
- const error = event.detail;
- console.error(`Error code: ${error.code}\nObject: `, error);
- }
-
- /**
- * @private
- */
- setSrcWithShakaPlayer(instance, elem, options, url) {
- return import('shaka').then(() => {
- /* globals shaka */
-
- const player = new shaka.Player(elem);
-
- //player.configure({
- // abr: {
- // enabled: false
- // },
- // streaming: {
-
- // failureCallback: function () {
- // alert(2);
- // }
- // }
- //});
-
- //shaka.log.setLevel(6);
-
- // Listen for error events.
- player.addEventListener('error', this.onShakaError);
-
- this.#shakaPlayer = player;
-
- // This is needed in setCurrentTrackElement
- this.#currentSrc = url;
-
- // Try to load a manifest.
- // This is an asynchronous process.
- return player.load(url);
- });
- }
-
/**
* @private
*/
@@ -498,60 +441,6 @@ function tryRemoveElement(elem) {
}
}
- /**
- * Adapted from : https://github.com/googlecast/CastReferencePlayer/blob/master/player.js
- * @private
- */
- onMediaManagerLoadMedia = (event) => {
- if (this._castPlayer) {
- this._castPlayer.unload(); // Must unload before starting again.
- }
- this._castPlayer = null;
-
- const data = event.data;
-
- const media = event.data.media || {};
- const url = media.contentId;
- const contentType = media.contentType.toLowerCase();
-
- let protocol;
- const ext = 'm3u8';
-
- const mediaElement = this.#mediaElement;
-
- const host = new cast.player.api.Host({
- 'url': url,
- 'mediaElement': mediaElement
- });
-
- if (ext === 'm3u8' ||
- contentType === 'application/x-mpegurl' ||
- contentType === 'application/vnd.apple.mpegurl') {
- protocol = cast.player.api.CreateHlsStreamingProtocol(host);
- } else if (ext === 'mpd' ||
- contentType === 'application/dash+xml') {
- protocol = cast.player.api.CreateDashStreamingProtocol(host);
- } else if (url.includes('.ism') ||
- contentType === 'application/vnd.ms-sstr+xml') {
- protocol = cast.player.api.CreateSmoothStreamingProtocol(host);
- }
-
- console.debug(`loading playback url: ${url}`);
- console.debug(`content type: ${contentType}`);
-
- host.onError = function (errorCode) {
- console.error(`fatal Error - ${errorCode}`);
- };
-
- mediaElement.autoplay = false;
-
- this._castPlayer = new cast.player.api.Player(host);
-
- this._castPlayer.load(protocol, data.currentTime || 0);
-
- this._castPlayer.playWhenHaveEnoughData();
- }
-
/**
* @private
*/
@@ -588,16 +477,7 @@ function tryRemoveElement(elem) {
elem.crossOrigin = crossOrigin;
}
- /*if (enableHlsShakaPlayer(options.item, options.mediaSource, 'Video') && val.includes('.m3u8')) {
-
- setTracks(elem, tracks, options.item, options.mediaSource);
-
- return setSrcWithShakaPlayer(this, elem, options, val);
-
- } else*/
- if (browser.chromecast && val.includes('.m3u8') && options.mediaSource.RunTimeTicks) {
- return this.setCurrentSrcChromecast(this, elem, options, val);
- } else if (enableHlsJsPlayer(options.mediaSource.RunTimeTicks, 'Video') && val.includes('.m3u8')) {
+ if (enableHlsJsPlayer(options.mediaSource.RunTimeTicks, 'Video') && val.includes('.m3u8')) {
return this.setSrcWithHlsJs(elem, options, val);
} else if (options.playMethod !== 'Transcode' && options.mediaSource.Container === 'flv') {
return this.setSrcWithFlvJs(elem, options, val);
@@ -1140,6 +1020,10 @@ function tryRemoveElement(elem) {
this.incrementFetchQueue();
try {
const response = await fetch(getTextTrackUrl(track, item, '.js'));
+
+ if (!response.ok) {
+ throw new Error(response);
+ }
return response.json();
} finally {
@@ -1167,7 +1051,6 @@ function tryRemoveElement(elem) {
this.destroyCustomTrack(videoElement);
this.#customTrackIndex = track.Index;
this.renderTracksEvents(videoElement, track, item);
- this.#lastCustomTrackMs = 0;
}
/**
@@ -1880,7 +1763,7 @@ function tryRemoveElement(elem) {
link = null;
}
- if (this._hlsPlayer || this.#shakaPlayer) {
+ if (this._hlsPlayer) {
mediaCategory.stats.push({
label: globalize.translate('LabelStreamType'),
value: 'HLS'