fix(playback): update Shaka Player to 5.2.4 (#1411)

This commit is contained in:
4gray authored and GitHub committed 2026-08-11 03:14:03 +02:00
1 parent 861c6798ee
commit 77842b9d04
9 files changed
+20 -13

No files matched your search

+6
View File
@@ -0,0 +1,6 @@
---
type: fix
area: playback
---
DASH playback now resets a failed media buffer before switching variants, avoiding repeated append failures and crashes on affected platforms.
+1 -1
View File
@@ -228,7 +228,7 @@ Key files:
engine (`libs/ui/playback/src/lib/shaka-engine/`) inside the HTML5 and
ArtPlayer components; ClearKey keys come from KODIPROP-derived
`Channel.drm`, and the shared bridge exposes Shaka audio/text tracks via
source kind `shaka`. The DOM-free Shaka `5.2.2` diagnostic boundary lives in
source kind `shaka`. The DOM-free Shaka `5.2.4` diagnostic boundary lives in
`libs/playback/util`; it version-locks public severity/category/code evidence,
ignores recoverable error events,
treats rejected loads as terminal lifecycle outcomes, preserves exact public
+1 -1
View File
@@ -920,7 +920,7 @@ app as a real argument, so it is not an option.
ArtPlayer). Unsupported license types (Widevine/PlayReady — out of scope,
need the castLabs Electron fork) surface a DRM playback diagnostic instead
of crashing. ClearKey EME works in stock Electron. Engine:
`libs/ui/playback/src/lib/shaka-engine/`. Its DOM-free Shaka `5.2.2`
`libs/ui/playback/src/lib/shaka-engine/`. Its DOM-free Shaka `5.2.4`
diagnostic boundary lives in `libs/playback/util`; it version-locks public
severity/category/code evidence, ignores
recoverable error events, treats rejected loads as terminal lifecycle
@@ -464,7 +464,7 @@ external-player workflows; it is not copied from the HLS error payload into
the evidence or technical details. HLS startup development logs are event-only:
they do not include provider-supplied channel names or source URLs.
Shaka Player `5.2.2` errors cross a separate structured boundary before the
Shaka Player `5.2.4` errors cross a separate structured boundary before the
HTML5 or ArtPlayer DASH session emits a diagnostic. Version-locked tests assert
the installed Shaka version plus the public `Severity`, `Category`, and selected
online-playback `Code` values used by the boundary. Evidence retains only
+1 -1
View File
@@ -1017,7 +1017,7 @@ player in settings.
engine: lazy `import('shaka-player')` on first use (the module is a separate
lazy chunk, ~217 KB transfer), `drm.clearKeys` configuration, an operation
queue + generation guard against channel-switch races. The DOM-free Shaka
`5.2.2` public-error boundary lives in `libs/playback/util`; it version-locks
`5.2.4` public-error boundary lives in `libs/playback/util`; it version-locks
its allowlisted
severity/category/code values, emits only structured sanitized
`PlaybackDiagnosticSource.Shaka` evidence, ignores recoverable error events,
@@ -1,10 +1,10 @@
/**
* Public Shaka error values audited against the locked 5.2.2 runtime.
* Public Shaka error values audited against the locked 5.2.4 runtime.
*
* Keep the version assertion in the contract spec: a Shaka upgrade must stop
* here for a new audit instead of silently accepting new error layouts.
*/
export const SHAKA_DIAGNOSTIC_VERSION = 'v5.2.2';
export const SHAKA_DIAGNOSTIC_VERSION = 'v5.2.4';
export const SHAKA_ERROR_SEVERITY = {
RECOVERABLE: 1,
@@ -41,7 +41,7 @@ interface ShakaEvidenceExports {
const exportsUnderTest = shakaDiagnostics as ShakaEvidenceExports;
describe('Shaka playback evidence', () => {
it('matches the installed public Shaka 5.2.2 error contract', () => {
it('matches the installed public Shaka 5.2.4 error contract', () => {
const installed = getInstalledShakaContract();
expect(exportsUnderTest.SHAKA_DIAGNOSTIC_VERSION).toBe(
+1 -1
View File
@@ -121,7 +121,7 @@
"ngx-skeleton-loader": "11.3.0",
"rxjs": "7.8.2",
"saxes": "6.0.0",
"shaka-player": "5.2.2",
"shaka-player": "5.2.4",
"video.js": "8.23.9",
"videojs-contrib-quality-levels": "4.1.0",
"videojs-quality-selector-hls": "1.1.1",
+6 -5
View File
@@ -155,8 +155,8 @@ importers:
specifier: 6.0.0
version: 6.0.0
shaka-player:
specifier: 5.2.2
version: 5.2.2
specifier: 5.2.4
version: 5.2.4
video.js:
specifier: 8.23.9
version: 8.23.9
@@ -10110,8 +10110,9 @@ packages:
setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
shaka-player@5.2.2:
resolution: {integrity: sha512-1Z5Sxqz7nEAtvp4zlZKAHQSEq6cUlw5CKAdUxqmuMNeZgu23090VXMcEDdiSLU5qtMn1skFOzq+KKCVX71bHqw==}
shaka-player@5.2.4:
resolution: {integrity: sha512-vf81av2EIcb03jRpeeZBhrPT3PMyggXnZA9k4sxGBxpr/H6v0iEL6b51T2Kwz5YNrQG/yDYoadgBW+oW40LeoA==}
engines: {node: '>=18'}
shallow-clone@3.0.1:
resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
@@ -23149,7 +23150,7 @@ snapshots:
setprototypeof@1.2.0: {}
shaka-player@5.2.2: {}
shaka-player@5.2.4: {}
shallow-clone@3.0.1:
dependencies: