From fddee0607fbad7da4650422d0f5b7e79216d528a Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 12 Sep 2023 23:53:39 -0400 Subject: [PATCH 1/3] Add eslint rule to prevent unused private class members --- .eslintrc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc.js b/.eslintrc.js index 44fd0a304..b0ef3ebb8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -63,6 +63,7 @@ module.exports = { 'no-trailing-spaces': ['error'], 'no-unused-expressions': ['off'], '@typescript-eslint/no-unused-expressions': ['error', { 'allowShortCircuit': true, 'allowTernary': true, 'allowTaggedTemplates': true }], + 'no-unused-private-class-members': ['error'], 'no-useless-constructor': ['off'], '@typescript-eslint/no-useless-constructor': ['error'], 'no-var': ['error'], From dd5199c544a7bc58f8de0f79d523b3931bfbe960 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 12 Sep 2023 23:56:08 -0400 Subject: [PATCH 2/3] Remove unused private class members --- src/components/pluginManager.js | 16 ---------------- src/plugins/htmlVideoPlayer/plugin.js | 4 ---- 2 files changed, 20 deletions(-) diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index 948912cbd..847e2bc57 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -129,22 +129,6 @@ class PluginManager { .sort((p1, p2) => (p1.priority || 0) - (p2.priority || 0))[0]; } - #mapRoute(plugin, route) { - if (typeof plugin === 'string') { - plugin = this.pluginsList.filter((p) => { - return (p.id || p.packageName) === plugin; - })[0]; - } - - route = route.path || route; - - if (route.toLowerCase().startsWith('http')) { - return route; - } - - return '/plugins/' + plugin.id + '/' + route; - } - mapPath(plugin, path, addCacheParam) { if (typeof plugin === 'string') { plugin = this.pluginsList.filter((p) => { diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index c6d9eeb68..e43e44d12 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -277,10 +277,6 @@ export class HtmlVideoPlayer { * @type {number | null | undefined} */ #currentTime; - /** - * @type {any | undefined} - */ - #flvPlayer; /** * @private (used in other files) * @type {any | undefined} From 0f62cd9e520f6fed0bc4790d6daa353dc1a91447 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Thu, 14 Sep 2023 01:44:12 -0400 Subject: [PATCH 3/3] Fix flvPlayer variable name --- src/plugins/htmlVideoPlayer/plugin.js | 143 ++++++++++++++------------ 1 file changed, 75 insertions(+), 68 deletions(-) diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index e43e44d12..0365f0f4e 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -168,133 +168,140 @@ const SECONDARY_TEXT_TRACK_INDEX = 1; export class HtmlVideoPlayer { /** - * @type {string} - */ + * @type {string} + */ name; /** - * @type {string} - */ + * @type {string} + */ type = PluginType.MediaPlayer; /** - * @type {string} - */ + * @type {string} + */ id = 'htmlvideoplayer'; /** - * Let any players created by plugins take priority - * - * @type {number} - */ + * Let any players created by plugins take priority + * + * @type {number} + */ priority = 1; /** - * @type {boolean} - */ + * @type {boolean} + */ isFetching = false; /** - * @type {HTMLDivElement | null | undefined} - */ + * @type {HTMLDivElement | null | undefined} + */ #videoDialog; /** - * @type {number | undefined} - */ + * @type {number | undefined} + */ #subtitleTrackIndexToSetOnPlaying; /** - * @type {number | undefined} - */ + * @type {number | undefined} + */ #secondarySubtitleTrackIndexToSetOnPlaying; /** - * @type {number | null} - */ + * @type {number | null} + */ #audioTrackIndexToSetOnPlaying; /** - * @type {null | undefined} - */ + * @type {null | undefined} + */ #currentClock; /** - * @type {any | null | undefined} - */ + * @type {any | null | undefined} + */ #currentAssRenderer; /** - * @type {null | undefined} - */ + * @type {null | undefined} + */ #customTrackIndex; /** - * @type {number | undefined} - */ + * @type {number | undefined} + */ #customSecondaryTrackIndex; /** - * @type {boolean | undefined} - */ + * @type {boolean | undefined} + */ #showTrackOffset; /** - * @type {number | undefined} - */ + * @type {number | undefined} + */ #currentTrackOffset; /** - * @type {HTMLElement | null | undefined} - */ + * @type {HTMLElement | null | undefined} + */ #secondaryTrackOffset; /** - * @type {HTMLElement | null | undefined} - */ + * @type {HTMLElement | null | undefined} + */ #videoSubtitlesElem; /** - * @type {HTMLElement | null | undefined} - */ + * @type {HTMLElement | null | undefined} + */ #videoSecondarySubtitlesElem; /** - * @type {any | null | undefined} - */ + * @type {any | null | undefined} + */ #currentTrackEvents; /** - * @type {any | null | undefined} - */ + * @type {any | null | undefined} + */ #currentSecondaryTrackEvents; /** - * @type {string[] | undefined} - */ + * @type {string[] | undefined} + */ #supportedFeatures; /** - * @type {HTMLVideoElement | null | undefined} - */ + * @type {HTMLVideoElement | null | undefined} + */ #mediaElement; /** - * @type {number} - */ + * @type {number} + */ #fetchQueue = 0; /** - * @type {string | undefined} - */ + * @type {string | undefined} + */ #currentSrc; /** - * @type {boolean | undefined} - */ + * @type {boolean | undefined} + */ #started; /** - * @type {boolean | undefined} - */ + * @type {boolean | undefined} + */ #timeUpdated; /** - * @type {number | null | undefined} - */ + * @type {number | null | undefined} + */ #currentTime; + /** - * @private (used in other files) - * @type {any | undefined} - */ + * @private (used in other files) + * @type {any | undefined} + */ + _flvPlayer; + + /** + * @private (used in other files) + * @type {any | undefined} + */ _hlsPlayer; /** - * @private (used in other files) - * @type {any | null | undefined} - */ + * @private (used in other files) + * @type {any | null | undefined} + */ _castPlayer; /** - * @private (used in other files) - * @type {any | undefined} - */ + * @private (used in other files) + * @type {any | undefined} + */ _currentPlayOptions; /** - * @type {any | undefined} - */ + * @type {any | undefined} + */ #lastProfile; constructor() { @@ -404,7 +411,7 @@ export class HtmlVideoPlayer { flvPlayer.attachMediaElement(elem); flvPlayer.load(); - this.#flvPlayer = flvPlayer; + this._flvPlayer = flvPlayer; // This is needed in setCurrentTrackElement this.#currentSrc = url;