feat(subtitles): subtitle-fetch jobs vía sync + auto-fetch opcional en scan
El web empuja SubtitleFetchRequest por el sync (URL del proxy, ya charset-fixed a WebVTT); el daemon lo descarga y lo escribe como sidecar <base>.<lang>.vtt junto al medio (contención en scan paths con EvalSymlinks, cap 10 MiB) y reporta done/failed en el siguiente sync para que el web marque el job. Config nueva library.subtitles (auto_fetch + languages) para el auto-fetch en scan, off por defecto.
This commit is contained in:
parent
63be565227
commit
6a7a2e292e
10 changed files with 264 additions and 22 deletions
|
|
@ -211,6 +211,21 @@ type LibraryConfig struct {
|
|||
// generation never saturates the machine or the NAS. Default 0.7; 0 falls back
|
||||
// to the default. Linux-only (no load reading elsewhere → unthrottled).
|
||||
PrewarmMaxLoadRatio float64 `toml:"prewarm_max_load_ratio"`
|
||||
|
||||
// On-demand / automatic subtitle fetching from the web (Wyzie aggregator,
|
||||
// PRO). The web can always push a hot request (library/player button); this
|
||||
// section only controls SCAN-TIME auto-fetch, which is OFF by default.
|
||||
Subtitles SubtitlesConfig `toml:"subtitles"`
|
||||
}
|
||||
|
||||
// SubtitlesConfig controls scan-time subtitle auto-fetch.
|
||||
type SubtitlesConfig struct {
|
||||
// AutoFetch: during a library scan, fetch missing subtitles for the preferred
|
||||
// languages and write them as sidecars. Default false (opt-in).
|
||||
AutoFetch bool `toml:"auto_fetch"`
|
||||
// Languages: preferred subtitle languages (ISO 639-1) to ensure exist, in
|
||||
// priority order, e.g. ["es", "en"]. Empty → auto-fetch does nothing.
|
||||
Languages []string `toml:"languages"`
|
||||
}
|
||||
|
||||
// TrickplayConfig controls scan-time trickplay sprite generation.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue