From 25b133946d2ded5984ce8b1ff9ebd2e0151b1d13 Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Fri, 23 Jan 2026 22:04:05 +0100 Subject: [PATCH 1/2] [YouTube] Adapt YoutubeHttpDataSource to TVHTML5 client removal in NPE --- .../newpipe/player/datasource/YoutubeHttpDataSource.java | 8 -------- 1 file changed, 8 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 d4658d1de..4cdb649a3 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 @@ -14,10 +14,8 @@ 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.getTvHtml5UserAgent; 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.isTvHtml5StreamingUrl; 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; @@ -661,10 +659,7 @@ public final class YoutubeHttpDataSource extends BaseDataSource implements HttpD } } - final boolean isTvHtml5StreamingUrl = isTvHtml5StreamingUrl(requestUrl); - if (isWebStreamingUrl(requestUrl) - || isTvHtml5StreamingUrl || isWebEmbeddedPlayerStreamingUrl(requestUrl)) { httpURLConnection.setRequestProperty(HttpHeaders.ORIGIN, YOUTUBE_BASE_URL); httpURLConnection.setRequestProperty(HttpHeaders.REFERER, YOUTUBE_BASE_URL); @@ -685,9 +680,6 @@ public final class YoutubeHttpDataSource extends BaseDataSource implements HttpD } else if (isIosStreamingUrl) { httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT, getIosUserAgent(null)); - } else if (isTvHtml5StreamingUrl) { - httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT, - getTvHtml5UserAgent()); } else { // non-mobile user agent httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT, DownloaderImpl.USER_AGENT); From bffee48bcbedf190e628ccfd5edbb627c9ea3cc5 Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Tue, 27 Jan 2026 11:14:30 +0100 Subject: [PATCH 2/2] Update NewPipeExtractor --- a.bisect | 25 +++++++++++++++++++++++++ gradle/libs.versions.toml | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 a.bisect diff --git a/a.bisect b/a.bisect new file mode 100644 index 000000000..f5227c22e --- /dev/null +++ b/a.bisect @@ -0,0 +1,25 @@ +git bisect start +# status: waiting for both good and bad commits +# good: [eb277fe14b87b35118cea41dc74fb8c2e2ba7b1c] Player/handleIntent: call handleIntentPost unconditionally +git bisect good eb277fe14b87b35118cea41dc74fb8c2e2ba7b1c +# status: waiting for bad commit, 1 good commit known +# bad: [d0f32b3842a37f79b27594d763cacd3d0f404b06] Merge pull request #12996 from whistlingwoods/reapply-local-list-header-fix-by-j-haldane +git bisect bad d0f32b3842a37f79b27594d763cacd3d0f404b06 +# bad: [c2f526d5b3137e291d269980f8c289e80ceb10a2] Use context.getString() shorthand instead of context.getResources().getString() +git bisect bad c2f526d5b3137e291d269980f8c289e80ceb10a2 +# bad: [c2f526d5b3137e291d269980f8c289e80ceb10a2] Use context.getString() shorthand instead of context.getResources().getString() +git bisect bad c2f526d5b3137e291d269980f8c289e80ceb10a2 +# good: [2fadaffb98d7599334e6ffe3080bac45d35472c9] Merge pull request #12765 from TransZAllen/build_error_into_NewPipeExtractor +git bisect good 2fadaffb98d7599334e6ffe3080bac45d35472c9 +# good: [2fadaffb98d7599334e6ffe3080bac45d35472c9] Merge pull request #12765 from TransZAllen/build_error_into_NewPipeExtractor +git bisect good 2fadaffb98d7599334e6ffe3080bac45d35472c9 +# good: [ffb82dc88c9e530757c98f4645a6b8a16d288d39] Merge pull request #12849 from TeamNewPipe/acraKSP +git bisect good ffb82dc88c9e530757c98f4645a6b8a16d288d39 +# good: [ffb82dc88c9e530757c98f4645a6b8a16d288d39] Merge pull request #12849 from TeamNewPipe/acraKSP +git bisect good ffb82dc88c9e530757c98f4645a6b8a16d288d39 +# bad: [f3876d1c4a7b2818600e96856ddaa40ad5045b5d] Translated using Weblate (Danish) +git bisect bad f3876d1c4a7b2818600e96856ddaa40ad5045b5d +# good: [40bc8c191e6120c92e91f72527a8ec9343b93cce] Merge pull request #12897 from TeamNewPipe/depUpdate +git bisect good 40bc8c191e6120c92e91f72527a8ec9343b93cce +# good: [40bc8c191e6120c92e91f72527a8ec9343b93cce] Merge pull request #12897 from TeamNewPipe/depUpdate +git bisect good 40bc8c191e6120c92e91f72527a8ec9343b93cce diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index be09de32d..5448848a2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -59,7 +59,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 = "v0.25.0" +teamnewpipe-newpipe-extractor = "v0.25.1" viewpager2 = "1.1.0" webkit = "1.14.0" # Newer versions require minSdk >= 23 work = "2.10.5" # Newer versions require minSdk >= 23