Skip to content

Commit d9570d8

Browse files
committed
Use pre-generated playerResponse field everywhere in YtStreamExtractor
1 parent 63a37c4 commit d9570d8

1 file changed

Lines changed: 4 additions & 24 deletions

File tree

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

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -254,20 +254,6 @@ public int getAgeLimit() throws ParsingException {
254254
public long getLength() throws ParsingException {
255255
assertPageFetched();
256256

257-
final JsonObject playerResponse;
258-
try {
259-
final String pr;
260-
if(playerArgs != null) {
261-
pr = playerArgs.getString("player_response");
262-
} else {
263-
pr = videoInfoPage.get("player_response");
264-
}
265-
playerResponse = JsonParser.object()
266-
.from(pr);
267-
} catch (Exception e) {
268-
throw new ParsingException("Could not get playerResponse", e);
269-
}
270-
271257
// try getting duration from playerargs
272258
try {
273259
String durationMs = playerResponse
@@ -859,19 +845,13 @@ private List<SubtitlesInfo> getAvailableSubtitlesInfo() throws SubtitlesExceptio
859845
} catch (IOException | ExtractionException e) {
860846
throw new SubtitlesException("Unable to download player configs", e);
861847
}
862-
final String playerResponse = playerConfig.getObject("args", new JsonObject())
863-
.getString("player_response");
864848

865849
final JsonObject captions;
866-
try {
867-
if (playerResponse == null || !JsonParser.object().from(playerResponse).has("captions")) {
868-
// Captions does not exist
869-
return Collections.emptyList();
870-
}
871-
captions = JsonParser.object().from(playerResponse).getObject("captions");
872-
} catch (JsonParserException e) {
873-
throw new SubtitlesException("Unable to parse subtitles listing", e);
850+
if (!playerResponse.has("captions")) {
851+
// Captions does not exist
852+
return Collections.emptyList();
874853
}
854+
captions = playerResponse.getObject("captions");
875855

876856
final JsonObject renderer = captions.getObject("playerCaptionsTracklistRenderer", new JsonObject());
877857
final JsonArray captionsArray = renderer.getArray("captionTracks", new JsonArray());

0 commit comments

Comments
 (0)