diff --git a/chat-summaries/2026-09-21_12-21-fix-playback-waveform-thumbnails-summary.md b/chat-summaries/2026-09-21_12-21-fix-playback-waveform-thumbnails-summary.md new file mode 100644 index 0000000..947bfa7 --- /dev/null +++ b/chat-summaries/2026-09-21_12-21-fix-playback-waveform-thumbnails-summary.md @@ -0,0 +1,48 @@ +# Fix: Video Playback, Waveform, and Thumbnails Not Working + +**Date:** 2026-09-21 12:21 +**Task:** Diagnose and fix three user-reported issues after downloading a video: no playback, waveform/thumbnails stuck at "Generating...", scrubbing doesn't update the player frame. + +## Root Causes + +### 1. `[Merger]` line path not parsed (Primary Bug) +When `yt-dlp` downloads video+audio separately and merges them, it outputs: +``` +[download] Destination: /path/to/file.f399.mp4 ← intermediate +[download] Destination: /path/to/file.f251.webm ← intermediate +[Merger] Merging formats into "/path/to/file.webm" ← final merged file +``` +The old parsing used `line.split(": ").nth(1)` for all three cases. This works for `[download] Destination:` lines (which have `: ` delimiter) but **fails for `[Merger]`** lines (which use `into "path"` format — no `: `). As a result, `last_file_path` pointed to a deleted intermediate file. Both `triggerPostDownloadProcessing(path)` and `session.localFilePath` received the wrong path, causing: +- All ffmpeg post-processing (waveform, thumbnails, keyframes) to fail with file-not-found +- The video player to reference a non-existent file + +### 2. Stream URL doesn't work in Tauri webview +The `yt-dlp -g` stream URL (googlevideo.com) has anti-hotlinking protections (referer/IP checks) that block playback in a Tauri/WKWebView context. The `