From 6240f23c819bb3a772e4a625596f83d32d68e489 Mon Sep 17 00:00:00 2001 From: quantumInverter Date: Mon, 6 Jan 2025 09:48:39 +0200 Subject: [PATCH 1/3] fix(FEC-14257): Fix duplicating captions on Safari --- src/player.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/player.ts b/src/player.ts index 88fc5384..55022f3e 100644 --- a/src/player.ts +++ b/src/player.ts @@ -2616,10 +2616,10 @@ export default class Player extends FakeEventTarget { * @returns {void} */ private _updateTextDisplay(cues: Array): void { - if (this._config.text.useShakaTextTrackDisplay) { + if (this._config.text.useShakaTextTrackDisplay && !(this._config.text.useNativeTextTrack || this._config.text.enableCEA708Captions)) { this._applyCustomSubtitleStyles(); } - if (!this._config.text.useNativeTextTrack && !this._config.text.useShakaTextTrackDisplay) { + if (!this._config.text.useNativeTextTrack && !this._config.text.useShakaTextTrackDisplay && !this._config.text.enableCEA708Captions) { processCues(window, cues, this._textDisplayEl, this._textStyle); } } From 15a983b47f8ed7511c1fa227f552d0600ed852e7 Mon Sep 17 00:00:00 2001 From: quantumInverter Date: Mon, 27 Jan 2025 10:16:06 +0200 Subject: [PATCH 2/3] fix(FEC-14257): Fix for duplicating captions --- src/player.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/player.ts b/src/player.ts index 55022f3e..3551706a 100644 --- a/src/player.ts +++ b/src/player.ts @@ -1486,8 +1486,9 @@ export default class Player extends FakeEventTarget { */ private _applyTextTrackConfig(): void { const textTrackDisplaySetting = Utils.Object.getPropertyPath(this._config, 'text.textTrackDisplaySetting'); + const useNativeTextTrack = Utils.Object.getPropertyPath(this._config, 'text.useNativeTextTrack'); const textStyle = Utils.Object.getPropertyPath(this._config, 'text.textStyle'); - if (textTrackDisplaySetting) { + if (textTrackDisplaySetting && !useNativeTextTrack) { const textDisplaySettings: any = Utils.Object.mergeDeep({}, textTrackDisplaySetting, { // align - backward compatibility || new caption alignment API || default value align: textTrackDisplaySetting?.align || textStyle?.textAlign || 'center' From 3fea42db7996ff766e7c63572975d0d48a36363e Mon Sep 17 00:00:00 2001 From: quantumInverter Date: Mon, 27 Jan 2025 10:36:06 +0200 Subject: [PATCH 3/3] fix(FEC-14257): Fix for duplicating captions --- src/player.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/player.ts b/src/player.ts index 3551706a..986d69ed 100644 --- a/src/player.ts +++ b/src/player.ts @@ -2617,10 +2617,10 @@ export default class Player extends FakeEventTarget { * @returns {void} */ private _updateTextDisplay(cues: Array): void { - if (this._config.text.useShakaTextTrackDisplay && !(this._config.text.useNativeTextTrack || this._config.text.enableCEA708Captions)) { + if (this._config.text.useShakaTextTrackDisplay) { this._applyCustomSubtitleStyles(); } - if (!this._config.text.useNativeTextTrack && !this._config.text.useShakaTextTrackDisplay && !this._config.text.enableCEA708Captions) { + if (!this._config.text.useNativeTextTrack && !this._config.text.useShakaTextTrackDisplay) { processCues(window, cues, this._textDisplayEl, this._textStyle); } }