mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-15 13:46:16 -08:00
feat(html-player): add feature-flagged shared controls (#1194)
* feat(html-player): bridge engine state to shared controls * fix(html-player): avoid HLS subtitle event reentry * fix(html-player): restore delayed HLS default subtitles * refactor(html-player): split controls bridge collaborators * feat(html-player): add feature-flagged shared controls * test(html-player): cover shared-controls source ownership * feat(html-player): pass shared-controls playback metadata * docs(player-controls): describe HTML5 shared-controls bridge * docs(player-controls): clarify HTML5 rollout effect * fix(html-player): reveal diagnostics from fullscreen * fix(html-player): defer HLS event resolution * refactor(html-player): isolate video element session
This commit is contained in:
1 parent
f611ea3d7c
commit
c49ea2f6a8
29 files changed
+4185
-236
No files matched your search
@@ -147,8 +147,20 @@ Key files:
|
||||
commands are cancelled. Same-session IPC replies also yield to a broadcast
|
||||
snapshot received while the command was pending, preventing a successful
|
||||
recording acknowledgement from being rolled back by a stale reply.
|
||||
- HTML5/hls.js, Video.js, and ArtPlayer are not wired yet. Their existing skins
|
||||
remain active and the web rollout token remains default-off.
|
||||
- The built-in HTML5/hls.js player is the second guarded consumer.
|
||||
`HtmlVideoPlayerComponent` provides a component-scoped
|
||||
`WebVideoControlsAdapter`; its player-local bridge owns HLS/native tracks,
|
||||
MPEG-TS VOD duration correction, caption preference, and source cleanup.
|
||||
`HtmlVideoElementSession` owns native video-event lifecycle, persisted
|
||||
volume, start-time/time/ended propagation, and legacy post-play caption
|
||||
suppression.
|
||||
`WebPlayerViewComponent.resolvedIsLive` supplies authoritative live/VOD
|
||||
metadata, while a visible playback diagnostic disables both shared surface
|
||||
interaction and shortcuts and exits the HTML5 shell's own fullscreen so the
|
||||
diagnostic actions remain visible. The flag-off path keeps native controls
|
||||
and legacy series navigation unchanged.
|
||||
- Video.js and ArtPlayer are not wired yet. Their existing skins remain active,
|
||||
and the web rollout token remains default-off.
|
||||
- Canonical docs: `docs/architecture/player-controls-contract.md` and
|
||||
`docs/architecture/embedded-mpv-native.md`
|
||||
|
||||
|
||||
Reference in new issue
Block a user