diff --git a/src/playbackstrategy/msestrategy.js b/src/playbackstrategy/msestrategy.js index e7922a2c..6f496563 100644 --- a/src/playbackstrategy/msestrategy.js +++ b/src/playbackstrategy/msestrategy.js @@ -42,6 +42,7 @@ function MSEStrategy( bufferTimeAtTopQuality: 12, bufferTimeAtTopQualityLongForm: 15, }, + lastMediaSettingsCachingInfo: { enabled: false }, }, }, customPlayerSettings @@ -526,12 +527,17 @@ function MSEStrategy( mediaPlayer.updateSettings(dashSettings) mediaPlayer.initialize(mediaElement, null) - if (audioDescribed.enable) { - mediaPlayer.setInitialMediaSettingsFor("audio", { - role: "alternate", - accessibility: { schemeIdUri: "urn:tva:metadata:cs:AudioPurposeCS:2007", value: "1" }, - }) - } + mediaPlayer.setInitialMediaSettingsFor( + "audio", + audioDescribed.enable + ? { + role: "alternate", + accessibility: { schemeIdUri: "urn:tva:metadata:cs:AudioPurposeCS:2007", value: "1" }, + } + : { + role: "main", + } + ) modifySource(presentationTimeInSeconds) } diff --git a/src/playbackstrategy/msestrategy.test.js b/src/playbackstrategy/msestrategy.test.js index b0b8cf13..55e08907 100644 --- a/src/playbackstrategy/msestrategy.test.js +++ b/src/playbackstrategy/msestrategy.test.js @@ -702,7 +702,7 @@ describe("Media Source Extensions Playback Strategy", () => { }) describe("Sets up mediaPlayer respecting audioDescribed.enable", () => { - it("sets initial audio track settings when audioDescribed.enable is true", () => { + it("sets initial audio settings to the audio described track when audio described is enabled", () => { const mseStrategy = MSEStrategy(mockMediaSources, MediaKinds.VIDEO, playbackElement, undefined, undefined, { enable: true, }) @@ -714,13 +714,15 @@ describe("Media Source Extensions Playback Strategy", () => { }) }) - it("does not set initial audio track settings when audioDescribed.enable is false", () => { + it("sets initial audio settings to main track when audio described is not enabled", () => { const mseStrategy = MSEStrategy(mockMediaSources, MediaKinds.VIDEO, playbackElement, undefined, undefined, { enable: false, }) mseStrategy.load(null, 10) - expect(mockDashInstance.setInitialMediaSettingsFor).not.toHaveBeenCalled() + expect(mockDashInstance.setInitialMediaSettingsFor).toHaveBeenCalledWith("audio", { + role: "main", + }) }) })