From 8ada4c9355294dcfb2403aa0c9a50a169597adc6 Mon Sep 17 00:00:00 2001 From: Ryan McCartney Date: Mon, 19 Jan 2026 12:39:53 +0000 Subject: [PATCH 1/3] Remove use of the PLAYBACK_FROZEN event in Dash.js --- docs/tutorials/02-plugins.md | 1 - src/playbackstrategy/msestrategy.js | 8 -------- src/plugins.js | 1 - 3 files changed, 10 deletions(-) diff --git a/docs/tutorials/02-plugins.md b/docs/tutorials/02-plugins.md index cc68e5f1..cbf2e93c 100644 --- a/docs/tutorials/02-plugins.md +++ b/docs/tutorials/02-plugins.md @@ -24,7 +24,6 @@ The full interface is as follows: - `onSubtitlesDynamicLoadError` - `onFragmentContentLengthMismatch` - `onPlaybackRateChanged` -- `onPlaybackFrozen` An example plugin may look like: diff --git a/src/playbackstrategy/msestrategy.js b/src/playbackstrategy/msestrategy.js index 47e223f9..29eda899 100644 --- a/src/playbackstrategy/msestrategy.js +++ b/src/playbackstrategy/msestrategy.js @@ -124,7 +124,6 @@ function MSEStrategy( QUOTA_EXCEEDED: "quotaExceeded", TEXT_TRACKS_ADDED: "allTextTracksAdded", CURRENT_TRACK_CHANGED: "currentTrackChanged", - PLAYBACK_FROZEN: "playbackFrozen", } function onLoadedMetaData() { @@ -764,7 +763,6 @@ function MSEStrategy( mediaPlayer.on(DashJSEvents.TEXT_TRACKS_ADDED, handleTextTracks) mediaPlayer.on(DashJSEvents.MANIFEST_LOADING_FINISHED, manifestLoadingFinished) mediaPlayer.on(DashJSEvents.CURRENT_TRACK_CHANGED, onCurrentTrackChanged) - mediaPlayer.on(DashJSEvents.PLAYBACK_FROZEN, onPlaybackFrozen) } function handleTextTracks() { @@ -953,7 +951,6 @@ function MSEStrategy( mediaPlayer.off(DashJSEvents.GAP_JUMP_TO_END, onGapJump) mediaPlayer.off(DashJSEvents.QUOTA_EXCEEDED, onQuotaExceeded) mediaPlayer.off(DashJSEvents.CURRENT_TRACK_CHANGED, onCurrentTrackChanged) - mediaPlayer.off(DashJSEvents.PLAYBACK_FROZEN, onPlaybackFrozen) mediaPlayer = undefined } @@ -1079,11 +1076,6 @@ function MSEStrategy( }) } - function onPlaybackFrozen(event) { - Plugins.interface.onPlaybackFrozen(event) - DebugTool.info(`${event.cause}. Total frames - ${event.totalVideoFrames}`) - } - return { transitions: { canBePaused: () => true, diff --git a/src/plugins.js b/src/plugins.js index 75808fda..5ea4b2cf 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -83,6 +83,5 @@ export default { onQuotaExceeded: (evt) => callOnAllPlugins("onQuotaExceeded", evt), onPlaybackQualityChange: (evt) => callOnAllPlugins("onPlaybackQualityChange", evt), onPlaybackRateChanged: (evt) => callOnAllPlugins("onPlaybackRateChanged", evt), - onPlaybackFrozen: (evt) => callOnAllPlugins("onPlaybackFrozen", evt), }, } From 3fc87ffa0120e8483713e57961916282d75dee5a Mon Sep 17 00:00:00 2001 From: Ryan McCartney Date: Mon, 19 Jan 2026 12:40:40 +0000 Subject: [PATCH 2/3] Update Dash.js to testing branch --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e3f3f72e..0ee6e3ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "dashjs": "github:bbc/dash.js#smp-v4.7.3-14", + "dashjs": "github:bbc/dash.js#remove-video-frames-not-advancing", "smp-imsc": "github:bbc/imscJS#v1.0.11" }, "devDependencies": { @@ -4913,7 +4913,7 @@ }, "node_modules/dashjs": { "version": "4.7.3", - "resolved": "git+ssh://git@github.com/bbc/dash.js.git#04d53f356089f4aa4331122cbfdca6cb4d2764e0", + "resolved": "git+ssh://git@github.com/bbc/dash.js.git#11254c7a2bb1d2c312ff3209ec0e7c76baf86fe7", "license": "BSD-3-Clause", "dependencies": { "bcp-47-match": "^2.0.3", diff --git a/package.json b/package.json index b7f1816f..7abd9b3b 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "typescript-eslint": "7.2.0" }, "dependencies": { - "dashjs": "github:bbc/dash.js#smp-v4.7.3-14", + "dashjs": "github:bbc/dash.js#remove-video-frames-not-advancing", "smp-imsc": "github:bbc/imscJS#v1.0.11" }, "repository": { From 2d18271a879e242e510d0125da5ccc4bd044bbd8 Mon Sep 17 00:00:00 2001 From: Ryan McCartney Date: Thu, 5 Feb 2026 11:41:17 +0000 Subject: [PATCH 3/3] Update BSP package to production dash.js tag --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7688ee2d..4eea4325 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "dashjs": "github:bbc/dash.js#remove-video-frames-not-advancing", + "dashjs": "github:bbc/dash.js#smp-v4.7.3-16", "smp-imsc": "github:bbc/imscJS#v1.0.11" }, "devDependencies": { @@ -4913,7 +4913,7 @@ }, "node_modules/dashjs": { "version": "4.7.3", - "resolved": "git+ssh://git@github.com/bbc/dash.js.git#60a050a2ff08b094bb57f24301939085ffcd9739", + "resolved": "git+ssh://git@github.com/bbc/dash.js.git#d405483e03823d209e8debd46249b723fcecd6d7", "license": "BSD-3-Clause", "dependencies": { "bcp-47-match": "^2.0.3", diff --git a/package.json b/package.json index a776c989..2f8c3913 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "typescript-eslint": "7.2.0" }, "dependencies": { - "dashjs": "github:bbc/dash.js#remove-video-frames-not-advancing", + "dashjs": "github:bbc/dash.js#smp-v4.7.3-16", "smp-imsc": "github:bbc/imscJS#v1.0.11" }, "repository": {