summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/invidious/videos/parser.cr13
-rw-r--r--src/invidious/yt_backend/youtube_api.cr3
2 files changed, 11 insertions, 5 deletions
diff --git a/src/invidious/videos/parser.cr b/src/invidious/videos/parser.cr
index 95fa3d79..c17e596c 100644
--- a/src/invidious/videos/parser.cr
+++ b/src/invidious/videos/parser.cr
@@ -102,6 +102,12 @@ def extract_video_info(video_id : String)
new_player_response = nil
+ # Use the WEB embed client when po_token is configured because it only works on this client
+ if CONFIG.po_token
+ client_config.client_type = YoutubeAPI::ClientType::WebEmbeddedPlayer
+ new_player_response = try_fetch_streaming_data(video_id, client_config)
+ end
+
# Don't use Android client if po_token is passed because po_token doesn't
# work for Android client.
if reason.nil? && CONFIG.po_token.nil?
@@ -114,10 +120,9 @@ def extract_video_info(video_id : String)
end
# Last hope
- # Only trigger if reason found and po_token or didn't work wth Android client.
- # TvHtml5ScreenEmbed now requires sig helper for it to work but po_token is not required
- # if the IP address is not blocked.
- if CONFIG.po_token && reason || CONFIG.po_token.nil? && new_player_response.nil?
+ # Only trigger if reason found or didn't work wth Android client.
+ # TvHtml5ScreenEmbed now requires sig helper for it to work but doesn't work with po_token.
+ if reason && CONFIG.po_token.nil?
client_config.client_type = YoutubeAPI::ClientType::TvHtml5ScreenEmbed
new_player_response = try_fetch_streaming_data(video_id, client_config)
end
diff --git a/src/invidious/yt_backend/youtube_api.cr b/src/invidious/yt_backend/youtube_api.cr
index d66bf7aa..6d6c72d1 100644
--- a/src/invidious/yt_backend/youtube_api.cr
+++ b/src/invidious/yt_backend/youtube_api.cr
@@ -291,8 +291,9 @@ module YoutubeAPI
end
if client_config.screen == "EMBED"
+ # embedUrl https://www.google.com allow loading video that are configured not embeddable
client_context["thirdParty"] = {
- "embedUrl" => "https://www.youtube.com/embed/#{video_id}",
+ "embedUrl" => "https://www.google.com/",
} of String => String | Int64
end