2
0
mirror of https://github.com/TeamNewPipe/NewPipeExtractor synced 2025-08-30 22:05:18 +00:00

Fix YoutubeStreamExtractor not being able to getAgeLimit() in onFetchPage()

This commit is contained in:
wb9688
2020-02-26 16:19:42 +01:00
parent bb3a3d70bf
commit 88282761f4

View File

@@ -260,7 +260,7 @@ public class YoutubeStreamExtractor extends StreamExtractor {
@Override
public int getAgeLimit() {
assertPageFetched();
if (initialData == null || initialData.isEmpty()) throw new IllegalStateException("initialData is not parsed yet");
if (initialData.getObject("contents").getObject("twoColumnWatchNextResults")
.getObject("secondaryResults") == null) {
return 18;
@@ -672,6 +672,7 @@ public class YoutubeStreamExtractor extends StreamExtractor {
doc = YoutubeParsingHelper.parseAndCheckPage(verifiedUrl, response);
final String playerUrl;
initialData = YoutubeParsingHelper.getInitialData(pageHtml);
// Check if the video is age restricted
if (getAgeLimit() == 18) {
final EmbeddedInfo info = getEmbeddedInfo();
@@ -685,7 +686,6 @@ public class YoutubeStreamExtractor extends StreamExtractor {
playerUrl = getPlayerUrl(ytPlayerConfig);
}
playerResponse = getPlayerResponse();
initialData = YoutubeParsingHelper.getInitialData(pageHtml);
if (decryptionCode.isEmpty()) {
decryptionCode = loadDecryptionCode(playerUrl);