mirror of
https://github.com/iv-org/invidious.git
synced 2025-09-15 16:28:30 +00:00
Prevent player microformat from being overwritten by the next microformat
Closes https://github.com/iv-org/invidious/issues/5443 The player microformat is what we need to get the published date, premiere timestamp, allowed regions and more information of the video. Youtube introduced a new `microformat.microformatDataRenderer` in the next endpoint which overwrote the player microformat `microformat.playerMicroformatRenderer` when merged
This commit is contained in:
parent
89c8b1b901
commit
7b246b576f
@ -102,6 +102,9 @@ def extract_video_info(video_id : String)
|
|||||||
# Don't fetch the next endpoint if the video is unavailable.
|
# Don't fetch the next endpoint if the video is unavailable.
|
||||||
if {"OK", "LIVE_STREAM_OFFLINE", "LOGIN_REQUIRED"}.any?(playability_status)
|
if {"OK", "LIVE_STREAM_OFFLINE", "LOGIN_REQUIRED"}.any?(playability_status)
|
||||||
next_response = YoutubeAPI.next({"videoId": video_id, "params": ""})
|
next_response = YoutubeAPI.next({"videoId": video_id, "params": ""})
|
||||||
|
# Remove the microformat returned by the /next endpoint on some videos
|
||||||
|
# to prevent player_response microformat from being overwritten.
|
||||||
|
next_response.reject!("microformat")
|
||||||
player_response = player_response.merge(next_response)
|
player_response = player_response.merge(next_response)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user