From 9373402408f40e8349584a108c577be1956a3032 Mon Sep 17 00:00:00 2001 From: Thomas Hebb Date: Tue, 27 May 2025 18:02:06 -0400 Subject: [PATCH] [fd/hls] Fix `format_index=0` parsing with `--hls-split-discontinuity` When treating each discontinuity as a separate format, this code should only consider items within the requested discontinuity. But when the requested discontinuity has index 0, it currently considers everything because 0 is not truthy. Fix the issue by explicitly checking for non-`None` `format_index`, which indicates that `--hls-split-discontinuity` was passed. Fixes: 310c2ed2c648 ("Better support HLS media discontinuity and fully support media initialization (#105)") --- yt_dlp/downloader/hls.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yt_dlp/downloader/hls.py b/yt_dlp/downloader/hls.py index 1f36a07f5..47f3e50a1 100644 --- a/yt_dlp/downloader/hls.py +++ b/yt_dlp/downloader/hls.py @@ -198,7 +198,7 @@ def is_ad_fragment_end(s): line = line.strip() if line: if not line.startswith('#'): - if format_index and discontinuity_count != format_index: + if format_index is not None and discontinuity_count != format_index: continue if ad_frag_next: continue @@ -224,7 +224,7 @@ def is_ad_fragment_end(s): byte_range = {} elif line.startswith('#EXT-X-MAP'): - if format_index and discontinuity_count != format_index: + if format_index is not None and discontinuity_count != format_index: continue if frag_index > 0: self.report_error(