From 3f6fd5774bb0856263dbf1930193b7c22a17bd14 Mon Sep 17 00:00:00 2001 From: JonathanTGold <62672270+JonathanTGold@users.noreply.github.com> Date: Mon, 26 Dec 2022 21:37:46 +0200 Subject: [PATCH] fix(FEC-12760): default track stream selected when config.playback.textLanguage !== 'auto' - Regression (#688) default track stream selected when config.playback.textLanguage !== 'auto' - Regression --- src/player.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/player.js b/src/player.js index 0440b257c..2c37417d9 100644 --- a/src/player.js +++ b/src/player.js @@ -2588,9 +2588,10 @@ export default class Player extends FakeEventTarget { */ _setDefaultTracks(): void { const activeTracks = this.getActiveTracks(); + const defaultStreamTrack = this._getTextTracks().find(track => track.default); const playbackConfig = this.config.playback; const offTextTrack: ?Track = this._getTextTracks().find(track => TextTrack.langComparer(OFF, track.language)); - const defaultLanguage = this._getLanguage(this._getTextTracks(), playbackConfig.textLanguage, activeTracks.text); + const defaultLanguage = this._getLanguage(this._getTextTracks(), playbackConfig.textLanguage, defaultStreamTrack); const currentOrConfiguredTextLang = !this._playbackAttributesState.textLanguage || this._playbackAttributesState.textLanguage === OFF ? defaultLanguage @@ -2625,19 +2626,18 @@ export default class Player extends FakeEventTarget { * @returns {string} - The track language to set by default. */ _getLanguage(tracks: Array, configuredLanguage: string, defaultTrack: ?T): string { - let autoSelectedLanguage: string = ''; - const defaultStreamTrack: string = tracks.find(track => track.default)?.language || ''; - if (configuredLanguage === AUTO) { + let language = configuredLanguage; + if (language === AUTO) { const localeTrack: ?T = tracks.find(track => Track.langComparer(Locale.language, track.language)); if (localeTrack) { - autoSelectedLanguage = localeTrack.language; + language = localeTrack.language; } else if (defaultTrack && defaultTrack.language !== OFF) { - autoSelectedLanguage = defaultTrack.language; + language = defaultTrack.language; } else if (tracks && tracks.length > 0) { - autoSelectedLanguage = tracks[0].language; + language = tracks[0].language; } } - return autoSelectedLanguage || configuredLanguage || defaultStreamTrack; + return language; } /**