commit 959369a21fb7ee323d6bebb953d42fc9cc665068
parent f9b78f01f3aa14feaca744d6befe0685c9839374
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Sun, 4 Oct 2026 18:56:46 -0400
common: a merged persist records its height (the format print falls back to the selected video stream)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/common/ytdlp/downloadOneManaged.ts b/common/ytdlp/downloadOneManaged.ts
@@ -253,11 +253,16 @@ function audioFormatSelectionArgs(
}
// After the video, the downloaded format: `requested_downloads[0]` is the
-// merged (or single) format, carrying the video stream's height and vcodec.
-// runOneYtdlp scrapes it as `formatLine`; savedVideoFormatFromLine parses it.
+// merged (or single) format. A MERGED download (YouTube's split video+audio)
+// carries no height of its own there — yt-dlp prints NA — so each field falls
+// back to the selected video stream (`requested_formats[0]`), then the top
+// level. runOneYtdlp scrapes it as `formatLine`; savedVideoFormatFromLine
+// parses it.
const PERSIST_FORMAT_PRINT =
- `after_video:${FORMAT_MARKER} %(requested_downloads.0.height)s ` +
- `%(requested_downloads.0.vcodec)s %(requested_downloads.0.format_id)s`;
+ `after_video:${FORMAT_MARKER} ` +
+ `%(requested_downloads.0.height,requested_formats.0.height,height)s ` +
+ `%(requested_downloads.0.vcodec,requested_formats.0.vcodec,vcodec)s ` +
+ `%(requested_downloads.0.format_id)s`;
// The log line for a persisted container's format, and the LOUD one for a
// "video_720" persist that the last-resort rung answered: a file above 720p