]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/youtube.py
[extractor/youtube] Fix live_status
[yt-dlp.git] / yt_dlp / extractor / youtube.py
index 73c37ac90e1a004b2b32dfce10dbf2bfece77fc7..857c9670c5933da6c505e9df6f20eeaefc1ea5d3 100644 (file)
@@ -3684,17 +3684,13 @@ def _list_formats(self, video_id, microformats, video_details, player_responses,
             is_live = get_first(live_broadcast_details, 'isLiveNow')
         live_content = get_first(video_details, 'isLiveContent')
         is_upcoming = get_first(video_details, 'isUpcoming')
-        if is_live is None and is_upcoming or live_content is False:
-            is_live = False
-        if is_upcoming is None and (live_content or is_live):
-            is_upcoming = False
         post_live = get_first(video_details, 'isPostLiveDvr')
         live_status = ('post_live' if post_live
                        else 'is_live' if is_live
                        else 'is_upcoming' if is_upcoming
-                       else None if None in (is_live, is_upcoming, live_content)
-                       else 'was_live' if live_content else 'not_live')
-
+                       else 'was_live' if live_content
+                       else 'not_live' if False in (is_live, live_content)
+                       else None)
         streaming_data = traverse_obj(player_responses, (..., 'streamingData'), default=[])
         *formats, subtitles = self._extract_formats_and_subtitles(streaming_data, video_id, player_url, live_status, duration)