Skip to content

Commit 4ff6553

Browse files
committed
Reimplement getAgeLimit()
1 parent 6ba03e5 commit 4ff6553

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ public class DecryptException extends ParsingException {
9797
private JsonObject initialData;
9898
private JsonObject videoPrimaryInfoRenderer;
9999
private JsonObject videoSecondaryInfoRenderer;
100+
private int ageLimit;
100101

101102
@Nonnull
102103
private List<SubtitlesInfo> subtitlesInfos = new ArrayList<>();
@@ -216,12 +217,8 @@ public Description getDescription() throws ParsingException {
216217
@Override
217218
public int getAgeLimit() {
218219
if (initialData == null || initialData.isEmpty()) throw new IllegalStateException("initialData is not parsed yet");
219-
if (initialData.getObject("contents").getObject("twoColumnWatchNextResults")
220-
.getObject("secondaryResults") == null) {
221-
return 18;
222-
} else {
223-
return NO_AGE_LIMIT;
224-
}
220+
221+
return ageLimit;
225222
}
226223

227224
@Override
@@ -600,6 +597,7 @@ public void onFetchPage(@Nonnull Downloader downloader) throws IOException, Extr
600597

601598
if (initialAjaxJson.getObject(2).getObject("response") != null) { // age-restricted videos
602599
initialData = initialAjaxJson.getObject(2).getObject("response");
600+
ageLimit = 18;
603601

604602
final EmbeddedInfo info = getEmbeddedInfo();
605603
final String videoInfoUrl = getVideoInfoUrl(getId(), info.sts);
@@ -608,6 +606,7 @@ public void onFetchPage(@Nonnull Downloader downloader) throws IOException, Extr
608606
playerUrl = info.url;
609607
} else {
610608
initialData = initialAjaxJson.getObject(3).getObject("response");
609+
ageLimit = NO_AGE_LIMIT;
611610

612611
playerArgs = getPlayerArgs(initialAjaxJson.getObject(2).getObject("player"));
613612
playerUrl = getPlayerUrl(initialAjaxJson.getObject(2).getObject("player"));

0 commit comments

Comments
 (0)