mirror of
https://github.com/iv-org/invidious.git
synced 2025-09-21 04:54:44 -04:00
Prevent player microformat from being overwritten by the next microformat (#5453)
* 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 * Update src/invidious/videos/parser.cr Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com> --------- Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
This commit is contained in:
parent
cf2dfbb75d
commit
ba02a4cdf5
1 changed files with 3 additions and 0 deletions
|
@ -102,6 +102,9 @@ def extract_video_info(video_id : String)
|
|||
# Don't fetch the next endpoint if the video is unavailable.
|
||||
if {"OK", "LIVE_STREAM_OFFLINE", "LOGIN_REQUIRED"}.any?(playability_status)
|
||||
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.delete("microformat")
|
||||
player_response = player_response.merge(next_response)
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue