fix(playback): update mpegts.js to 1.8.1 (#1412)

This commit is contained in:
4gray authored and GitHub committed 2026-08-11 03:15:08 +02:00
1 parent 77842b9d04
commit de77c6d467
8 files changed
+19 -18

No files matched your search

+6
View File
@@ -0,0 +1,6 @@
---
type: fix
area: playback
---
MPEG-TS playback is now more reliable on newer Safari versions when streams contain audio timestamp gaps.
+1 -1
View File
@@ -240,7 +240,7 @@ Key files:
KODIPROP DRM still suppress it. See the CLAUDE.md "Video Players" feature
entry and the "DASH + ClearKey Playback" section of
`docs/architecture/m3u-playlist-module.md`.
- mpegts.js `1.8.0` errors from HTML5, Video.js, and ArtPlayer cross one
- mpegts.js `1.8.1` errors from HTML5, Video.js, and ArtPlayer cross one
version-locked structured evidence boundary in `libs/playback/util`. Only
exact public type/detail pairs, pair-derived stage/failure, terminal
disposition, and the validated HTTP 4xx/5xx status slot are retained; raw
+1 -1
View File
@@ -775,7 +775,7 @@ app as a real argument, so it is not an option.
**Video Players**:
- Built-in web players: HTML5+hls.js, Video.js, and ArtPlayer
- mpegts.js `1.8.0` errors from all three built-in players cross one
- mpegts.js `1.8.1` errors from all three built-in players cross one
version-locked structured evidence boundary in `libs/playback/util`. It
retains only exact public type/detail pairs, pair-derived stage/failure,
terminal disposition, and a
@@ -512,7 +512,7 @@ configuration.
`network-error` is reserved for provider/network loading failures. Engines that expose concrete browser security evidence, such as CORS, mixed content, Content Security Policy, or private-network-access blocks, use `browser-access-error` so the UI can explain that the browser player was blocked before playback reached decoding.
mpegts.js `1.8.0` errors cross one shared structured boundary before the HTML5,
mpegts.js `1.8.1` errors cross one shared structured boundary before the HTML5,
Video.js, or ArtPlayer owner emits a diagnostic. Version-locked tests compare
the installed public `ErrorTypes` and `ErrorDetails` exports with the accepted
contract. Evidence retains only an exact type/detail pair, terminal
@@ -21,7 +21,7 @@ const METADATA = createPlaybackSourceMetadata({
});
describe('mpegts.js playback evidence', () => {
it('locks the accepted public contract to mpegts.js 1.8.0', () => {
it('locks the accepted public contract to mpegts.js 1.8.1', () => {
expect(mpegts.version).toBe(MPEGTS_DIAGNOSTIC_VERSION);
expect(mpegts.ErrorTypes).toEqual({
NETWORK_ERROR: MpegTsPlaybackEngineType.Network,
@@ -11,7 +11,7 @@ import {
MpegTsPlaybackStage,
} from './mpegts-playback-evidence.model';
export const MPEGTS_DIAGNOSTIC_VERSION = '1.8.0';
export const MPEGTS_DIAGNOSTIC_VERSION = '1.8.1';
interface MpegTsPlaybackCause {
readonly stage: MpegTsPlaybackStageValue;
+1 -1
View File
@@ -115,7 +115,7 @@
"hls.js": "1.6.16",
"iptv-playlist-parser": "github:4gray/iptv-playlist-parser#v0.15.2-iptvnator.2",
"marked": "18.0.7",
"mpegts.js": "1.8.0",
"mpegts.js": "1.8.1",
"ms": "2.1.3",
"ngx-indexed-db": "21.0.0",
"ngx-skeleton-loader": "11.3.0",
+7 -12
View File
@@ -137,8 +137,8 @@ importers:
specifier: 18.0.7
version: 18.0.7
mpegts.js:
specifier: 1.8.0
version: 1.8.0
specifier: 1.8.1
version: 1.8.1
ms:
specifier: 2.1.3
version: 2.1.3
@@ -8568,8 +8568,9 @@ packages:
resolution: {integrity: sha512-blbA7XpAaOdC/PR0Tu8GiUxlx6CpBuRowQPYV7lhi9Yr9G9+dkPXIUjqjzc/NCn/uZZPopluaJlIYntIEI/VLw==}
hasBin: true
mpegts.js@1.8.0:
resolution: {integrity: sha512-ZtujqtmTjWgcDDkoOnLvrOKUTO/MKgLHM432zGDI8oPaJ0S+ebPxg1nEpDpLw6I7KmV/GZgUIrfbWi3qqEircg==}
mpegts.js@1.8.1:
resolution: {integrity: sha512-mQ2daxqBaS+QmBYTmJMDUGwAOw08534b08KSyqUGkjkhuBODNod15j8pnRfVEIQVWulKNe201/6UqILe4m4YRQ==}
engines: {node: '>=20.9.0'}
mrmime@2.0.1:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
@@ -11323,10 +11324,6 @@ packages:
resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
engines: {node: '>=0.8.0'}
webworkify-webpack@https://codeload.github.com/xqq/webworkify-webpack/tar.gz/24d1e719b4a6cac37a518b2bb10fe124527ef4ef:
resolution: {tarball: https://codeload.github.com/xqq/webworkify-webpack/tar.gz/24d1e719b4a6cac37a518b2bb10fe124527ef4ef}
version: 2.1.5
whatwg-encoding@2.0.0:
resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
engines: {node: '>=12'}
@@ -21289,10 +21286,10 @@ snapshots:
'@xmldom/xmldom': 0.8.13
global: 4.4.0
mpegts.js@1.8.0:
mpegts.js@1.8.1:
dependencies:
es6-promise: 4.2.8
webworkify-webpack: https://codeload.github.com/xqq/webworkify-webpack/tar.gz/24d1e719b4a6cac37a518b2bb10fe124527ef4ef
events: 3.3.0
mrmime@2.0.1: {}
@@ -24544,8 +24541,6 @@ snapshots:
websocket-extensions@0.1.4: {}
webworkify-webpack@https://codeload.github.com/xqq/webworkify-webpack/tar.gz/24d1e719b4a6cac37a518b2bb10fe124527ef4ef: {}
whatwg-encoding@2.0.0:
dependencies:
iconv-lite: 0.6.3