mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-14 21:26:15 -08:00
feat(embedded-mpv): configurable extra libmpv options and network auto-reconnect (#1515)
Extra libmpv options (Settings > Playback) reach every embedded engine off the command line (createSession array on Windows/macOS, a 0600 --include file on Linux native-view, a stdin preamble for the frame-copy helper); the keys the embed depends on are refused, and keys libmpv rejects are reported once per session. Dropped streams reload automatically (error, or ended on live) with 2 s -> 30 s backoff, six attempts per outage and a 30 s stability reset, only for a load that already played; engine failures stay terminal, a running recording is filed as interrupted and restarted after the reload, and an external subtitle file is re-added. Settings.embeddedMpvAutoReconnect (default on) opts out; the player shows 'Reconnecting... attempt N of M'. Started by Bpl5966 in #1515 and finished by the maintainers in the same PR. Co-authored-by: Bpl5966 <amine.b1959@gmail.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
6cfdaf5900
commit
5a11b82eaf
66 files changed
+3740
-101
No files matched your search
@@ -212,6 +212,23 @@ export interface Settings {
|
||||
* for its preload frame pump, which is fixed at window creation.
|
||||
*/
|
||||
embeddedMpvFrameCopy?: boolean;
|
||||
/**
|
||||
* Extra libmpv options for the embedded engine, one `key=value` per line
|
||||
* (no leading `--`), applied on every engine after the built-in options
|
||||
* and the network defaults, so a line here overrides them. Keys the
|
||||
* embed depends on (`EMBEDDED_MPV_FORBIDDEN_OPTION_KEYS`) are refused by
|
||||
* the form and skipped at session creation. Mirrored into the
|
||||
* main-process config like `embeddedMpvFrameCopy`; a change applies to
|
||||
* the next embedded session.
|
||||
*/
|
||||
embeddedMpvExtraOptions?: string;
|
||||
/**
|
||||
* Reload a dropped embedded MPV stream automatically (mpv error, or EOF
|
||||
* on a live stream) with capped backoff. Default on; only a stream that
|
||||
* already played is retried, so a dead URL stays on the manual Retry.
|
||||
* Captured per session, so a change applies to the next session.
|
||||
*/
|
||||
embeddedMpvAutoReconnect?: boolean;
|
||||
/** Cover/poster sizing preset applied across grids and rails */
|
||||
coverSize?: CoverSize;
|
||||
/** Live EPG panel layout: horizontal timeline (default) or vertical list */
|
||||
|
||||
Reference in new issue
Block a user