From 4ff655352de245dacc901c179ea70e7512ad853c Mon Sep 17 00:00:00 2001 From: wb9688 Date: Fri, 28 Feb 2020 17:14:26 +0100 Subject: [PATCH] Reimplement getAgeLimit() --- .../youtube/extractors/YoutubeStreamExtractor.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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 fee13f3d1..ca9f2bfca 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 @@ -97,6 +97,7 @@ public class YoutubeStreamExtractor extends StreamExtractor { private JsonObject initialData; private JsonObject videoPrimaryInfoRenderer; private JsonObject videoSecondaryInfoRenderer; + private int ageLimit; @Nonnull private List subtitlesInfos = new ArrayList<>(); @@ -216,12 +217,8 @@ public class YoutubeStreamExtractor extends StreamExtractor { @Override public int getAgeLimit() { if (initialData == null || initialData.isEmpty()) throw new IllegalStateException("initialData is not parsed yet"); - if (initialData.getObject("contents").getObject("twoColumnWatchNextResults") - .getObject("secondaryResults") == null) { - return 18; - } else { - return NO_AGE_LIMIT; - } + + return ageLimit; } @Override @@ -600,6 +597,7 @@ public class YoutubeStreamExtractor extends StreamExtractor { if (initialAjaxJson.getObject(2).getObject("response") != null) { // age-restricted videos initialData = initialAjaxJson.getObject(2).getObject("response"); + ageLimit = 18; final EmbeddedInfo info = getEmbeddedInfo(); final String videoInfoUrl = getVideoInfoUrl(getId(), info.sts); @@ -608,6 +606,7 @@ public class YoutubeStreamExtractor extends StreamExtractor { playerUrl = info.url; } else { initialData = initialAjaxJson.getObject(3).getObject("response"); + ageLimit = NO_AGE_LIMIT; playerArgs = getPlayerArgs(initialAjaxJson.getObject(2).getObject("player")); playerUrl = getPlayerUrl(initialAjaxJson.getObject(2).getObject("player"));