From cf68b8f43f141eff995c079c427014111022a755 Mon Sep 17 00:00:00 2001 From: Simon <35427372+bbilly1@users.noreply.github.com> Date: Thu, 20 Aug 2026 01:26:11 +0200 Subject: [PATCH] [ie/youtube:tab] Always extract channel metadata (#17386) Closes #13155 Authored by: bbilly1, bashonly Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com> --- yt_dlp/extractor/youtube/_tab.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/yt_dlp/extractor/youtube/_tab.py b/yt_dlp/extractor/youtube/_tab.py index 88714b8659..b0825ef6e3 100644 --- a/yt_dlp/extractor/youtube/_tab.py +++ b/yt_dlp/extractor/youtube/_tab.py @@ -2341,6 +2341,7 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor): self.to_screen(f'This playlist is likely not available in your region. Following conditional redirect to {redirect_url}') return self.url_result(redirect_url, YoutubeTabIE) + metadata = None tabs, extra_tabs = self._extract_tab_renderers(data), [] if is_channel and tabs and 'no-youtube-channel-redirect' not in compat_opts: selected_tab = self._extract_selected_tab(tabs) @@ -2379,6 +2380,7 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor): elif extra_tabs and selected_tab_id != 'videos': # When there are shorts/live tabs but not videos tab + metadata = self._extract_metadata_from_tabs(item_id, data) url, data = f'{pre}{post}', None elif (original_tab_id or 'videos') != selected_tab_id: @@ -2414,7 +2416,7 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor): if len(entries) == 1: return entries[0] elif entries: - metadata = self._extract_metadata_from_tabs(item_id, data) + metadata = metadata or self._extract_metadata_from_tabs(item_id, data) uploads_url = 'the Uploads (UU) playlist URL' if try_get(metadata, lambda x: x['channel_id'].startswith('UC')): uploads_url = f'https://www.youtube.com/playlist?list=UU{metadata["channel_id"][2:]}'