build: configure Flatpak finish arguments for external player launching

Entire-Checkpoint: 21b9b9f90f23
This commit is contained in:
4gray committed 2026-04-12 18:38:07 +02:00
1 parent c06ed66c41
commit 35141bec31
5 files changed
+401 -59

No files matched your search

@@ -6,6 +6,7 @@ This document records the current contract for embedded playback in portal detai
- Embedded web players are `videojs`, `html5`, and `artplayer`.
- External players are `mpv` and `vlc`.
- Flatpak launches external players on the host via `flatpak-spawn --host`.
- Live playback stays inline in dedicated live layouts.
- VOD and series detail playback now also stays inline on canonical detail surfaces.
- Material dialog playback remains only as a fallback for older non-detail callers.
@@ -56,6 +57,19 @@ When a detail view starts playback:
The detail host owns inline state. `PlayerService` is no longer the primary owner of UI playback state for canonical VOD/series detail screens.
## Flatpak External Players
Flatpak cannot execute host-installed `mpv` or `vlc` binaries directly from the sandbox.
Current contract:
- Flatpak launches external players through `flatpak-spawn --host`.
- AppImage, deb/rpm, snap, macOS, and Windows keep the existing direct process spawn flow.
- VLC keeps the current external-session flow in Flatpak, including the RC port used for progress polling.
- MPV is intentionally reduced in Flatpak: the app does not reuse an existing MPV instance there and does not open the Unix socket bridge used for non-Flatpak progress polling.
This keeps non-Flatpak behavior unchanged while allowing Flatpak builds to open host-installed external players.
## Typed Playback Payload
Shared playback payloads live in: