mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-13 12:36:15 -08:00
docs: sync the DASH/Shaka contract across agent docs
Mirrors the DASH/Shaka source-engine contract into AGENTS.md and adds Shaka to the shared web-video bridge descriptions in CLAUDE.md and the player-controls contract; documents the lazy raw-KODIPROP DRM fallback for pre-upgrade playlists in the M3U architecture doc. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e30811589e
commit
ccc1752a3a
4 files changed
+19
-9
No files matched your search
@@ -689,8 +689,12 @@ player in settings.
|
||||
3. The typed result lands on `Channel.drm` (`ChannelDrm` in
|
||||
`@iptvnator/shared/interfaces`), travels through
|
||||
`ResolvedPortalPlayback.drm` into `WebPlayerViewComponent`'s synthetic
|
||||
channel, and reaches the engine. Persistence is free (playlist JSON blob /
|
||||
IndexedDB object).
|
||||
channel, and reaches the engine. Persistence is free for newly imported or
|
||||
refreshed playlists (playlist JSON blob / IndexedDB object). Playlists
|
||||
imported **before** the DRM feature carry no `drm` field yet, but the raw
|
||||
`#KODIPROP` block survived in the stored items — the M3U player page falls
|
||||
back to `extractDrmFromRaw(channel.raw)` at playback time, so encrypted
|
||||
channels of pre-upgrade playlists work without a re-import.
|
||||
|
||||
**Engine selection and routing:**
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ those control systems is active at a time.
|
||||
|
||||
When `WEB_PLAYER_SHARED_CONTROLS` is enabled, the built-in HTML5 player mounts
|
||||
the same presentation component over its real player shell and disables the
|
||||
native video controls. Its neutral source bridge supplies HLS/native tracks,
|
||||
native video controls. Its neutral source bridge supplies HLS/Shaka/native tracks,
|
||||
corrected MPEG-TS VOD duration, and authoritative live/VOD metadata to the
|
||||
generic web adapter. When the host token resolves to false, the native controls
|
||||
and legacy series navigation remain unchanged and the adapter is not attached.
|
||||
@@ -50,7 +50,7 @@ keeps its existing skin and legacy series navigation.
|
||||
|
||||
ArtPlayer is the fourth consumer. Its source session owns HLS, MPEG-TS, native
|
||||
source selection, and delayed `customType` callbacks, while the neutral
|
||||
web-video source bridge exposes HLS/native tracks, caption preference, and
|
||||
web-video source bridge exposes HLS/Shaka/native tracks, caption preference, and
|
||||
MPEG-TS VOD duration to the adapter. Its video session owns native media and
|
||||
ArtPlayer event listeners. Shared mode uses authoritative live/VOD metadata,
|
||||
reapplies the app volume directly to the media element after ArtPlayer restores
|
||||
@@ -643,7 +643,7 @@ libs/ui/playback/src/lib/art-player/
|
||||
```
|
||||
|
||||
`ArtPlayerComponent` provides a component-scoped `WebVideoControlsAdapter`.
|
||||
`ArtPlayerSourceSession` owns HLS/MPEG-TS/native engines, the neutral source
|
||||
`ArtPlayerSourceSession` owns HLS/DASH(Shaka)/MPEG-TS/native engines, the neutral source
|
||||
bridge, exact engine/listener cleanup, and a destroyed-session guard for
|
||||
ArtPlayer's delayed `customType` dispatch. `ArtPlayerVideoSession` owns native
|
||||
media errors, readiness, volume persistence, ended/time updates, and exact
|
||||
|
||||
Reference in new issue
Block a user