Skip to content

Commit 0cb48e3

Browse files
authored
Merge pull request #651 from TeamNewPipe/fix/streamType
[YouTube] Fix getting stream type of live streams
2 parents a275750 + 6762fe3 commit 0cb48e3

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

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

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,21 @@ public StreamType getStreamType() {
6262
}
6363

6464
final JsonArray badges = videoInfo.getArray("badges");
65-
for (Object badge : badges) {
66-
if (((JsonObject) badge).getObject("metadataBadgeRenderer").getString("label", EMPTY_STRING).equals("LIVE NOW")) {
65+
for (final Object badge : badges) {
66+
if (((JsonObject) badge).getObject("metadataBadgeRenderer")
67+
.getString("label", EMPTY_STRING).equals("LIVE NOW")) {
6768
return cachedStreamType = StreamType.LIVE_STREAM;
6869
}
6970
}
7071

71-
final String style = videoInfo.getArray("thumbnailOverlays").getObject(0)
72-
.getObject("thumbnailOverlayTimeStatusRenderer").getString("style", EMPTY_STRING);
73-
if (style.equalsIgnoreCase("LIVE")) {
74-
return cachedStreamType = StreamType.LIVE_STREAM;
72+
final JsonArray thumbnailOverlays = videoInfo.getArray("thumbnailOverlays");
73+
for (final Object object : thumbnailOverlays) {
74+
final JsonObject thumbnailOverlay = (JsonObject) object;
75+
if (thumbnailOverlay.has("thumbnailOverlayNowPlayingRenderer")
76+
|| thumbnailOverlay.getObject("thumbnailOverlayTimeStatusRenderer")
77+
.getString("style", EMPTY_STRING).equalsIgnoreCase("LIVE")) {
78+
return cachedStreamType = StreamType.LIVE_STREAM;
79+
}
7580
}
7681

7782
return cachedStreamType = StreamType.VIDEO_STREAM;

0 commit comments

Comments
 (0)