mirror of
https://github.com/yt-dlp/yt-dlp
synced 2024-11-16 07:48:01 +01:00
[extractor/youtube] Add androidSdkVersion
parameter to Android Innertube clients
Required to prevent YouTube returning a bad player response in some cases. See: https://github.com/yt-dlp/yt-dlp/pull/4593, https://github.com/TeamNewPipe/NewPipe/issues/8713, https://github.com/iv-org/invidious/issues/3230, https://github.com/Tyrrrz/YoutubeExplode/issues/647 Authored by: coletdjnz
This commit is contained in:
parent
298d9c0e89
commit
c7dcf0b31e
1 changed files with 7 additions and 3 deletions
|
@ -109,7 +109,8 @@ INNERTUBE_CLIENTS = {
|
||||||
'INNERTUBE_CONTEXT': {
|
'INNERTUBE_CONTEXT': {
|
||||||
'client': {
|
'client': {
|
||||||
'clientName': 'ANDROID',
|
'clientName': 'ANDROID',
|
||||||
'clientVersion': '17.28.34',
|
'clientVersion': '17.29.34',
|
||||||
|
'androidSdkVersion': 30
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'INNERTUBE_CONTEXT_CLIENT_NAME': 3,
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 3,
|
||||||
|
@ -120,7 +121,8 @@ INNERTUBE_CLIENTS = {
|
||||||
'INNERTUBE_CONTEXT': {
|
'INNERTUBE_CONTEXT': {
|
||||||
'client': {
|
'client': {
|
||||||
'clientName': 'ANDROID_EMBEDDED_PLAYER',
|
'clientName': 'ANDROID_EMBEDDED_PLAYER',
|
||||||
'clientVersion': '17.28.34',
|
'clientVersion': '17.29.34',
|
||||||
|
'androidSdkVersion': 30
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'INNERTUBE_CONTEXT_CLIENT_NAME': 55,
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 55,
|
||||||
|
@ -132,6 +134,7 @@ INNERTUBE_CLIENTS = {
|
||||||
'client': {
|
'client': {
|
||||||
'clientName': 'ANDROID_MUSIC',
|
'clientName': 'ANDROID_MUSIC',
|
||||||
'clientVersion': '5.16.51',
|
'clientVersion': '5.16.51',
|
||||||
|
'androidSdkVersion': 30
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'INNERTUBE_CONTEXT_CLIENT_NAME': 21,
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 21,
|
||||||
|
@ -143,6 +146,7 @@ INNERTUBE_CLIENTS = {
|
||||||
'client': {
|
'client': {
|
||||||
'clientName': 'ANDROID_CREATOR',
|
'clientName': 'ANDROID_CREATOR',
|
||||||
'clientVersion': '22.28.100',
|
'clientVersion': '22.28.100',
|
||||||
|
'androidSdkVersion': 30
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'INNERTUBE_CONTEXT_CLIENT_NAME': 14,
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 14,
|
||||||
|
@ -3142,7 +3146,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
pr_video_id = traverse_obj(pr, ('videoDetails', 'videoId'))
|
pr_video_id = traverse_obj(pr, ('videoDetails', 'videoId'))
|
||||||
if pr_video_id and pr_video_id != video_id:
|
if pr_video_id and pr_video_id != video_id:
|
||||||
self.report_warning(
|
self.report_warning(
|
||||||
f'{client} client returned a player response for "{pr_video_id}" instead of "{video_id}"' + bug_reports_message())
|
f'Skipping player response from {client} client (got player response for video "{pr_video_id}" instead of "{video_id}")' + bug_reports_message())
|
||||||
else:
|
else:
|
||||||
prs.append(pr)
|
prs.append(pr)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue