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)