Skip to content

Commit 10704df

Browse files
committed
[YouTube] Fix NPE when getting channel header for videos channel tab
1 parent 8be6457 commit 10704df

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,8 +336,7 @@ public String getDescription() throws ParsingException {
336336
}
337337
}
338338

339-
// The description is cut and the original one can be only accessed from the About tab
340-
return jsonResponse.getObject("title")
339+
return jsonResponse.getObject(METADATA)
341340
.getObject("channelMetadataRenderer")
342341
.getString("description");
343342
} catch (final Exception e) {
@@ -432,7 +431,8 @@ private List<ListLinkHandler> getTabsForNonAgeRestrictedChannels() throws Parsin
432431
channelId,
433432
ChannelTabs.VIDEOS,
434433
(service, linkHandler) -> new VideosTabExtractor(
435-
service, linkHandler, tabRenderer, name, id, url)));
434+
service, linkHandler, tabRenderer, channelHeader,
435+
name, id, url)));
436436

437437
break;
438438
case "shorts":

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public class YoutubeChannelTabExtractor extends ChannelTabExtractor {
6060
@Nullable
6161
private String visitorData;
6262
@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
63-
private Optional<YoutubeChannelHelper.ChannelHeader> channelHeader;
63+
protected Optional<YoutubeChannelHelper.ChannelHeader> channelHeader;
6464

6565
public YoutubeChannelTabExtractor(final StreamingService service,
6666
final ListLinkHandler linkHandler) {
@@ -450,20 +450,24 @@ private Page getNextPageFrom(final JsonObject continuations,
450450
*/
451451
public static final class VideosTabExtractor extends YoutubeChannelTabExtractor {
452452
private final JsonObject tabRenderer;
453-
private final String channelName;
454453
private final String channelId;
454+
private final String channelName;
455455
private final String channelUrl;
456456

457457
VideosTabExtractor(final StreamingService service,
458458
final ListLinkHandler linkHandler,
459459
final JsonObject tabRenderer,
460+
@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
461+
final Optional<YoutubeChannelHelper.ChannelHeader> channelHeader,
460462
final String channelName,
461463
final String channelId,
462464
final String channelUrl) {
463465
super(service, linkHandler);
466+
this.channelHeader = channelHeader;
467+
464468
this.tabRenderer = tabRenderer;
465-
this.channelName = channelName;
466469
this.channelId = channelId;
470+
this.channelName = channelName;
467471
this.channelUrl = channelUrl;
468472
}
469473

0 commit comments

Comments
 (0)