From a189f685dcfc8d9bfb78fc71732c435c71ef0902 Mon Sep 17 00:00:00 2001 From: XiangRongLin <41164160+XiangRongLin@users.noreply.github.com> Date: Fri, 16 Jul 2021 19:20:40 +0200 Subject: [PATCH] cache player js code --- .../services/youtube/YoutubeThrottlingDecoder.java | 7 +++++-- .../youtube/extractors/YoutubeStreamExtractor.java | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeThrottlingDecoder.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeThrottlingDecoder.java index 2a429d4e6..10bd2b43b 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeThrottlingDecoder.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeThrottlingDecoder.java @@ -16,13 +16,16 @@ public class YoutubeThrottlingDecoder { private static final String HTTPS = "https:"; private static final String N_PARAM_REGEX = "[&?]n=([^&]+)"; + private static String playerJsCode; private final String functionName; private final String function; public YoutubeThrottlingDecoder(String videoId, Localization localization) throws ParsingException { - String playerJsUrl = cleanPlayerJsUrl(extractPlayerJsUrl(videoId, localization)); - String playerJsCode = downloadPlayerJsCode(localization, playerJsUrl); + if (playerJsCode == null) { + String playerJsUrl = cleanPlayerJsUrl(extractPlayerJsUrl(videoId, localization)); + playerJsCode = downloadPlayerJsCode(localization, playerJsUrl); + } functionName = parseDecodeFunctionName(playerJsCode); function = parseDecodeFunction(playerJsCode, functionName); diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java index 27d5607eb..1d2401075 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java @@ -534,7 +534,6 @@ public class YoutubeStreamExtractor extends StreamExtractor { String newNParam = throttlingDecoder.decodeNParam(oldNParam); String newUrl = throttlingDecoder.replaceNParam(url, newNParam); - System.out.println("aaaaaa " + url + " - " + oldNParam + " - " + newNParam); final VideoStream videoStream = new VideoStream(newUrl, false, itag); if (!Stream.containSimilarStream(videoStream, videoStreams)) { videoStreams.add(videoStream);