Reimplement getAgeLimit()
This commit is contained in:
parent
6ba03e542b
commit
4ff655352d
|
@ -97,6 +97,7 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
||||||
private JsonObject initialData;
|
private JsonObject initialData;
|
||||||
private JsonObject videoPrimaryInfoRenderer;
|
private JsonObject videoPrimaryInfoRenderer;
|
||||||
private JsonObject videoSecondaryInfoRenderer;
|
private JsonObject videoSecondaryInfoRenderer;
|
||||||
|
private int ageLimit;
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
private List<SubtitlesInfo> subtitlesInfos = new ArrayList<>();
|
private List<SubtitlesInfo> subtitlesInfos = new ArrayList<>();
|
||||||
|
@ -216,12 +217,8 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
||||||
@Override
|
@Override
|
||||||
public int getAgeLimit() {
|
public int getAgeLimit() {
|
||||||
if (initialData == null || initialData.isEmpty()) throw new IllegalStateException("initialData is not parsed yet");
|
if (initialData == null || initialData.isEmpty()) throw new IllegalStateException("initialData is not parsed yet");
|
||||||
if (initialData.getObject("contents").getObject("twoColumnWatchNextResults")
|
|
||||||
.getObject("secondaryResults") == null) {
|
return ageLimit;
|
||||||
return 18;
|
|
||||||
} else {
|
|
||||||
return NO_AGE_LIMIT;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -600,6 +597,7 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
||||||
|
|
||||||
if (initialAjaxJson.getObject(2).getObject("response") != null) { // age-restricted videos
|
if (initialAjaxJson.getObject(2).getObject("response") != null) { // age-restricted videos
|
||||||
initialData = initialAjaxJson.getObject(2).getObject("response");
|
initialData = initialAjaxJson.getObject(2).getObject("response");
|
||||||
|
ageLimit = 18;
|
||||||
|
|
||||||
final EmbeddedInfo info = getEmbeddedInfo();
|
final EmbeddedInfo info = getEmbeddedInfo();
|
||||||
final String videoInfoUrl = getVideoInfoUrl(getId(), info.sts);
|
final String videoInfoUrl = getVideoInfoUrl(getId(), info.sts);
|
||||||
|
@ -608,6 +606,7 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
||||||
playerUrl = info.url;
|
playerUrl = info.url;
|
||||||
} else {
|
} else {
|
||||||
initialData = initialAjaxJson.getObject(3).getObject("response");
|
initialData = initialAjaxJson.getObject(3).getObject("response");
|
||||||
|
ageLimit = NO_AGE_LIMIT;
|
||||||
|
|
||||||
playerArgs = getPlayerArgs(initialAjaxJson.getObject(2).getObject("player"));
|
playerArgs = getPlayerArgs(initialAjaxJson.getObject(2).getObject("player"));
|
||||||
playerUrl = getPlayerUrl(initialAjaxJson.getObject(2).getObject("player"));
|
playerUrl = getPlayerUrl(initialAjaxJson.getObject(2).getObject("player"));
|
||||||
|
|
Loading…
Reference in New Issue