'userAgent':'Mozilla/5.0 (iPad; CPU OS 16_7_10 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1,gzip(gfe)',
},
},
@ -4051,7 +4052,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
msg=(
f'{video_id}: {client_name} client {proto} formats require a PO Token which was not provided. '
'They will be skipped as they may yield HTTP Error 403. '
f'You can manually pass a PO Token for this client with --extractor-args "youtube:po_token={client_name}+XXX. '
f'You can manually pass a PO Token for this client with --extractor-args "youtube:po_token={client_name}+XXX". '
'For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/Extractors#po-token-guide . '
'To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot"')
@ -4271,7 +4272,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
key=(proto,f.get('language'))
ifnotall_formatsandkeyinitags[itag]:
returnFalse
itags[itag].add(key)
iff.get('source_preference')isNone:
f['source_preference']=-1
@ -4285,6 +4285,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):