diff --git a/src/playbackstrategy/msestrategy.js b/src/playbackstrategy/msestrategy.js index 11722c58..cade7d13 100644 --- a/src/playbackstrategy/msestrategy.js +++ b/src/playbackstrategy/msestrategy.js @@ -327,13 +327,15 @@ function MSEStrategy( mediaPlayer.setMediaDuration(Number.MAX_SAFE_INTEGER) } - if (mediaKind === MediaKinds.VIDEO) { + if (mediaPlayer.getActiveStream()?.getHasVideoTrack()) { dispatchDownloadQualityChangeForKind(MediaKinds.VIDEO) dispatchMaxQualityChangeForKind(MediaKinds.VIDEO) } - dispatchMaxQualityChangeForKind(MediaKinds.AUDIO) - dispatchDownloadQualityChangeForKind(MediaKinds.AUDIO) + if (mediaPlayer.getActiveStream()?.getHasAudioTrack()) { + dispatchMaxQualityChangeForKind(MediaKinds.AUDIO) + dispatchDownloadQualityChangeForKind(MediaKinds.AUDIO) + } emitPlayerInfo() } diff --git a/src/playbackstrategy/msestrategy.test.js b/src/playbackstrategy/msestrategy.test.js index c052db37..e7b0b48f 100644 --- a/src/playbackstrategy/msestrategy.test.js +++ b/src/playbackstrategy/msestrategy.test.js @@ -1626,6 +1626,7 @@ describe("Media Source Extensions Playback Strategy", () => { mockDashInstance.isReady.mockReturnValue(true) mockDashInstance.getTopBitrateInfoFor.mockReturnValue({ qualityIndex: 2, bitrate: 3000000 }) + mockDashInstance.getActiveStream.mockReturnValue({ getHasVideoTrack: () => true, getHasAudioTrack: () => true }) dispatchDashEvent(dashjsMediaPlayerEvents.STREAM_INITIALIZED) @@ -1650,6 +1651,7 @@ describe("Media Source Extensions Playback Strategy", () => { mockDashInstance.isReady.mockReturnValue(true) mockDashInstance.getTopBitrateInfoFor.mockReturnValue({ qualityIndex: 2, bitrate: 3000000 }) + mockDashInstance.getActiveStream.mockReturnValue({ getHasVideoTrack: () => true, getHasAudioTrack: () => true }) dispatchDashEvent(dashjsMediaPlayerEvents.STREAM_INITIALIZED) @@ -1674,6 +1676,7 @@ describe("Media Source Extensions Playback Strategy", () => { mockDashInstance.isReady.mockReturnValue(true) mockDashInstance.getTopBitrateInfoFor.mockReturnValue({ qualityIndex: 2, bitrate: 3000000 }) + mockDashInstance.getActiveStream.mockReturnValue({ getHasVideoTrack: () => true, getHasAudioTrack: () => true }) dispatchDashEvent(dashjsMediaPlayerEvents.STREAM_INITIALIZED) @@ -1698,6 +1701,7 @@ describe("Media Source Extensions Playback Strategy", () => { mockDashInstance.isReady.mockReturnValue(true) mockDashInstance.getTopBitrateInfoFor.mockReturnValue({ qualityIndex: 2, bitrate: 3000000 }) + mockDashInstance.getActiveStream.mockReturnValue({ getHasVideoTrack: () => true, getHasAudioTrack: () => true }) dispatchDashEvent(dashjsMediaPlayerEvents.STREAM_INITIALIZED)