# Video.js Shared Controls Replacement Design ## Context PR #1153 proposed wiring Video.js into the shared `app-player-controls` layer. Its Video.js-specific ideas remain useful, but the stacked PR also contains superseded embedded-MPV and HTML5 work and cannot be merged directly. The replacement is built on the current `master`, after: - #1193 established frame-copy embedded MPV with shared controls. - #1194 established the current web-player controls contract, authoritative live/VOD metadata, diagnostic interaction gating, and source-owned cleanup. The shared-controls feature flag remains disabled by default. Flag-off behavior must stay unchanged. ## Goals - Render the shared controls over Video.js when the feature flag is enabled. - Preserve the native Video.js chrome and legacy series navigation when it is disabled. - Expose Video.js audio and subtitle tracks through the common adapter. - Rebind all DOM-backed state when Video.js replaces its Tech `