From cec3cfba774926100095246d80be401155df2f68 Mon Sep 17 00:00:00 2001
From: Emilien Devos <4016501+unixfox@users.noreply.github.com>
Date: Tue, 17 Sep 2024 00:22:06 +0200
Subject: [PATCH] Revert "use web screen embed for fixing potoken functionality
 (#4923)"

This reverts commit de918b9234b99f91a0a364fc675533147581eb2e.
The code doesn't work as expected. Reverting
---
 src/invidious/videos/parser.cr          | 13 ++++---------
 src/invidious/yt_backend/youtube_api.cr |  3 +--
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/src/invidious/videos/parser.cr b/src/invidious/videos/parser.cr
index c17e596c..95fa3d79 100644
--- a/src/invidious/videos/parser.cr
+++ b/src/invidious/videos/parser.cr
@@ -102,12 +102,6 @@ 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?
@@ -120,9 +114,10 @@ def extract_video_info(video_id : String)
   end
 
   # Last hope
-  # 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?
+  # 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?
     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 6d6c72d1..d66bf7aa 100644
--- a/src/invidious/yt_backend/youtube_api.cr
+++ b/src/invidious/yt_backend/youtube_api.cr
@@ -291,9 +291,8 @@ 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.google.com/",
+        "embedUrl" => "https://www.youtube.com/embed/#{video_id}",
       } of String => String | Int64
     end