From f95acfafefe47ee9265a239583b488471078362e Mon Sep 17 00:00:00 2001 From: syeopite Date: Sat, 17 May 2025 14:59:45 -0700 Subject: [PATCH] Optimize companionless stream retrieval --- src/invidious/videos/parser.cr | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/invidious/videos/parser.cr b/src/invidious/videos/parser.cr index 15bd00b6..fce947c9 100644 --- a/src/invidious/videos/parser.cr +++ b/src/invidious/videos/parser.cr @@ -111,12 +111,11 @@ def extract_video_info(video_id : String) if !CONFIG.invidious_companion.present? if player_response["streamingData"]? && player_response.dig?("streamingData", "adaptiveFormats", 0, "url").nil? LOGGER.warn("Missing URLs for adaptive formats, falling back to other YT clients.") - players_fallback = [YoutubeAPI::ClientType::TvHtml5, YoutubeAPI::ClientType::WebMobile] + players_fallback = {YoutubeAPI::ClientType::TvHtml5, YoutubeAPI::ClientType::WebMobile} players_fallback.each do |player_fallback| client_config.client_type = player_fallback player_fallback_response = try_fetch_streaming_data(video_id, client_config) - if player_fallback_response && player_fallback_response["streamingData"]? && - player_fallback_response.dig?("streamingData", "adaptiveFormats", 0, "url") + if player_fallback_response && player_fallback_response.dig?("streamingData", "adaptiveFormats", 0, "url") streaming_data = player_response["streamingData"].as_h streaming_data["adaptiveFormats"] = player_fallback_response["streamingData"]["adaptiveFormats"] player_response["streamingData"] = JSON::Any.new(streaming_data)