Files
tuliprox/backend
euzuandGitHub 8b4d27b79f fix(m3u): use alias token for Flussonic catch-up archives (#902)
* fix(m3u): use alias token for Flussonic catch-up archives

Catch-up archive URLs are built from the main account's live URL. On an
alias allocation the M3U URL index only knows live URLs, so the lookup
missed and the archive manifest was fetched with the main stream token.
DVR segments inherited it, and the provider attributed the playback to
the main account.

On an index miss for a Flussonic archive file, resolve the live file in
the same directory through the alias index (one lookup pass for all
candidates) and keep the requested archive file name with the alias
query.

Query-based catch-up templates (append mode) are not covered.

* fix(dvr): retry ffmpeg spawn while executable is busy

Spawning a just-written executable can fail with ETXTBSY when a
concurrently forked process still holds an inherited write descriptor
before its exec. This made run_recording_preempts_fake_ffmpeg_and_
preserves_window_semantics flaky on CI.

Retry the spawn up to five times with a short backoff on
ExecutableFileBusy; other errors fail immediately as before.

* fix(hls): resolve single-variant archive master in shared cache

Archive URLs that return a master playlist with one #EXT-X-STREA
child failed with segment_uri_without_extinf. The variant's media
playlist is now fetched and fed to the cache timeline.

- skip masters with several variants or separate #EXT-X-MEDIA tr
- send entry credentials only to the entry origin
- send master cookies only to the master origin
- merge master and variant session cookies by name
- keep the recovery binding on the entry URL
2026-10-06 19:28:11 +02:00
..
2026-09-04 10:49:45 +02:00
2026-08-27 15:36:23 +02:00