mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-30 20:22:00 +00:00 
			
		
		
		
	use web screen embed for fixing potoken functionality (#4923)
* use web screen embed for fixing potoken functionality * use web screen embed only for getting streamingData + disable tv screen on po_token
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Émilien (perso)
					Émilien (perso)