Skip to content

Merge via direct ffmpeg; spawn extraction without the crate executor - #45

Merged
Linuxuser67 merged 3 commits into
mainfrom
binary-merge
Sep 18, 2026
Merged

Linuxuser67 merged 3 commits into
mainfrom
binary-merge

Conversation

@Linuxuser67

Copy link
Copy Markdown
Owner

Second transport migration (follows #44's part downloads; the two touch disjoint hunks and merge in either order):

  • finish_merge runs the combine through ffmpeg directly: same -i audio/-i video, -map 0:a/1:v, -c:v copy, copy-or-AAC audio matrix ported from the crate's audio_codec_for_mux, title embedded in the same pass (replacing its warn-only second-pass tagger). Failures now surface ffmpeg's own last line — the YouTube AV1 report will name its cause instead of a wrapped crate error.
  • fetch_video_page spawns yt-dlp with tokio + timeout instead of the crate Executor: same semantics (concurrent pipe drain for multi-MB JSON, timeout kill, nonzero exit as error) with stderr detail on failure and stdin nulled.

Tests: codec matrix, argv mapping/title/separator, fake-ffmpeg merge success + failure detail, fake-yt-dlp extraction parse. Full suite green, clippy clean. Downloader construction stays for now (parts still use its manager until #44 lands); selectors, models and the installer are untouched by design.

@Linuxuser67
Linuxuser67 merged commit 4f9d8db into main Sep 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant