diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py index 838899052..78288f809 100644 --- a/yt_dlp/extractor/common.py +++ b/yt_dlp/extractor/common.py @@ -3658,18 +3658,22 @@ class InfoExtractor: 'start_time': start_function(chapter), 'title': title_function(chapter), } for chapter in chapter_list or []] - if not strict: + if strict: + warn = self.report_warning + else: + warn = self.write_debug chapter_list.sort(key=lambda c: c['start_time'] or 0) chapters = [{'start_time': 0}] for idx, chapter in enumerate(chapter_list): if chapter['start_time'] is None: - self.report_warning(f'Incomplete chapter {idx}') + warn(f'Incomplete chapter {idx}') elif chapters[-1]['start_time'] <= chapter['start_time'] <= duration: chapters.append(chapter) elif chapter not in chapters: - self.report_warning( - f'Invalid start time ({chapter["start_time"]} < {chapters[-1]["start_time"]}) for chapter "{chapter["title"]}"') + issue = (f'{chapter["start_time"]} > {duration}' if chapter['start_time'] > duration + else f'{chapter["start_time"]} < {chapters[-1]["start_time"]}') + warn(f'Invalid start time ({issue}) for chapter "{chapter["title"]}"') return chapters[1:] def _extract_chapters_from_description(self, description, duration):