From 12166ca60ce88544140e3aba1f88ff3c7356eefe Mon Sep 17 00:00:00 2001 From: TobiGr Date: Tue, 18 Feb 2020 13:05:11 +0100 Subject: [PATCH] [StreamExtractor] Add fallback method for uploader avatar url --- .../youtube/extractors/YoutubeStreamExtractor.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java index a0ee0bf3b..4bb491d05 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java @@ -479,8 +479,17 @@ public class YoutubeStreamExtractor extends StreamExtractor { .getObject("secondaryResults").getArray("results").getObject(0).getObject("compactAutoplayRenderer") .getArray("contents").getObject(0).getObject("compactVideoRenderer").getObject("channelThumbnail") .getArray("thumbnails").getObject(0).getString("url"); + if (uploaderAvatarUrl != null && !uploaderAvatarUrl.isEmpty()) { + return uploaderAvatarUrl; + } + } catch (Exception ignored) {} - } catch (Exception e) {//todo: add fallback method + try { + uploaderAvatarUrl = ytInitialData.getObject("contents").getObject("twoColumnWatchNextResults").getObject("results") + .getObject("results").getArray("contents").getObject(1).getObject("videoSecondaryInfoRenderer") + .getObject("owner").getObject("videoOwnerRenderer").getObject("thumbnail").getArray("thumbnails") + .getObject(0).getString("url"); + } catch (Exception e) { throw new ParsingException("Could not get uploader avatar url", e); }