Commit Graph

9 Commits

Author SHA1 Message Date
hl-valdemar 0411064f0c feat: remember playback progress across player restarts
Persist authoritative per-video positions in UserDefaults. Save periodic checkpoints, pause, close, replacement, and quit; restore a validated position before autoplay. Canonical YouTube webpage URLs survive fresh stream extraction, and local symlinks share file progress.

Clear completed or out-of-duration bookmarks. Leave failed opens and live/non-seekable inputs out of persistence. Pending opens hide errors belonging to the previous source.

Verified separate-process restart, source replacement, failed-open recovery, completion, checkpoints, real YouTube short-link resume, live exclusion, and make all check.
2026-10-10 23:44:48 +02:00
hl-valdemar 8fb08db6f3 feat: stream YouTube video with coordinated audio and video inputs
Resolve public YouTube URLs through external yt-dlp and play selected streams in the existing native window.

Independent bounded network readers keep one authored timeline. Successful seeks clear FFmpeg's sticky aborted-read AVIO error; manifest seekability uses native format flags rather than a top-level I/O handle.

Verified real YouTube playback, seeking, frame stepping, compact mode, cancellation, and the complete native regression checks.
2026-10-10 23:02:19 +02:00
hl-valdemar fa66020951 feat: add same-window compact playback with magnetic snapping 2026-10-10 21:34:08 +02:00
hl-valdemar 681a7be6f7 chore: rename project and app to terebi 2026-10-10 20:32:14 +02:00
hl-valdemar 131acbe41b fix: count repeated frame steps and retain the forward decoder cursor 2026-10-10 18:57:26 +02:00
hl-valdemar a99b0c1168 feat: step to adjacent decoded video frames 2026-10-10 18:05:00 +02:00
hl-valdemar c9b9264109 feat: match IINA screenshot geometry and controls 2026-10-10 16:03:18 +02:00
hl-valdemar df2456f559 fix: preserve audio sample continuity across timestamp rounding 2026-10-10 01:33:33 +02:00
hl-valdemar 8a89d88254 feat: add native local-file playback 2026-10-10 01:24:06 +02:00