From b4003d641e69df4802597f686b387d044ddbafc6 Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Sat, 29 Aug 2026 14:39:31 +0200 Subject: [PATCH] [YouTube] Update NewPipeExtractor and adapt to removals --- .../datasource/YoutubeHttpDataSource.java | 18 ++---------------- .../util/potoken/PoTokenProviderImpl.kt | 6 ------ gradle/libs.versions.toml | 2 +- 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/datasource/YoutubeHttpDataSource.java b/app/src/main/java/org/schabi/newpipe/player/datasource/YoutubeHttpDataSource.java index 25f92df3f..82f7bb161 100644 --- a/app/src/main/java/org/schabi/newpipe/player/datasource/YoutubeHttpDataSource.java +++ b/app/src/main/java/org/schabi/newpipe/player/datasource/YoutubeHttpDataSource.java @@ -12,14 +12,9 @@ import static com.google.android.exoplayer2.upstream.DefaultHttpDataSource.DEFAU import static com.google.android.exoplayer2.upstream.HttpUtil.buildRangeRequestHeader; import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import static com.google.android.exoplayer2.util.Util.castNonNull; -import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getAndroidUserAgent; -import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getIosUserAgent; import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getVisionOsUserAgent; -import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isAndroidStreamingUrl; -import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isIosStreamingUrl; import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isVisionOsStreamingUrl; import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isWebStreamingUrl; -import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isWebEmbeddedPlayerStreamingUrl; import static java.lang.Math.min; import android.net.Uri; @@ -661,8 +656,7 @@ public final class YoutubeHttpDataSource extends BaseDataSource implements HttpD } } - if (isWebStreamingUrl(requestUrl) - || isWebEmbeddedPlayerStreamingUrl(requestUrl)) { + if (isWebStreamingUrl(requestUrl)) { httpURLConnection.setRequestProperty(HttpHeaders.ORIGIN, YOUTUBE_BASE_URL); httpURLConnection.setRequestProperty(HttpHeaders.REFERER, YOUTUBE_BASE_URL); httpURLConnection.setRequestProperty(HttpHeaders.SEC_FETCH_DEST, "empty"); @@ -672,15 +666,7 @@ public final class YoutubeHttpDataSource extends BaseDataSource implements HttpD httpURLConnection.setRequestProperty(HttpHeaders.TE, "trailers"); - if (isAndroidStreamingUrl(requestUrl)) { - // Improvement which may be done: find the content country used to request YouTube - // contents to add it in the user agent instead of using the default - httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT, - getAndroidUserAgent(null)); - } else if (isIosStreamingUrl(requestUrl)) { - httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT, - getIosUserAgent(null)); - } else if (isVisionOsStreamingUrl(requestUrl)) { + if (isVisionOsStreamingUrl(requestUrl)) { httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT, getVisionOsUserAgent(null)); } else { diff --git a/app/src/main/java/org/schabi/newpipe/util/potoken/PoTokenProviderImpl.kt b/app/src/main/java/org/schabi/newpipe/util/potoken/PoTokenProviderImpl.kt index 53ae04a3c..d8be7b469 100644 --- a/app/src/main/java/org/schabi/newpipe/util/potoken/PoTokenProviderImpl.kt +++ b/app/src/main/java/org/schabi/newpipe/util/potoken/PoTokenProviderImpl.kt @@ -123,10 +123,4 @@ object PoTokenProviderImpl : PoTokenProvider { return PoTokenResult(visitorData, playerPot, streamingPot) } - - override fun getWebEmbedClientPoToken(videoId: String): PoTokenResult? = null - - override fun getAndroidClientPoToken(videoId: String): PoTokenResult? = null - - override fun getIosClientPoToken(videoId: String): PoTokenResult? = null } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 88375e77d..308e3b494 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -73,7 +73,7 @@ teamnewpipe-nanojson = "e9d656ddb49a412a5a0a5d5ef20ca7ef09549996" # the corresponding commit hash, since JitPack sometimes deletes artifacts. # If there’s already a git hash, just add more of it to the end (or remove a letter) # to cause jitpack to regenerate the artifact. -teamnewpipe-newpipe-extractor = "01fdde08af40f39f5736c921303218209bc9c13e" +teamnewpipe-newpipe-extractor = "13a655fe53e0c3065f88725fc1fb594c3ede0169" viewpager2 = "1.1.0" webkit = "1.15.0" # New versions require minSdk 24 work = "2.11.2"