Bug #78862

Bug #22968: Hoster: youtube.com - Free

Hoster: youtube.com - Free |PLUGIN_DEFECT-Error: 30941795b927c8bb7e89552c35e02a19

Added by StatServ about 4 years ago. Updated almost 4 years ago.

Status:ClosedStart date:05/12/2016
Priority:LowDue date:
Assignee:-% Done:

0%

Category:Hoster
Target version:-
Resolution:

Description

PLUGIN_DEFECT-Error Detected

Error ID 30941795b927c8bb7e89552c35e02a19
Plugin youtube.com
Account free
Revision 33742

Stacktrace:

IDV1:
youtube.com-free
jd.plugins.hoster.YoutubeDashV2
java.lang.NullPointerException
org.jdownloader.plugins.components.youtube.YoutubeHelper.extractData(YoutubeHelper.java:1169)
org.jdownloader.plugins.components.youtube.YoutubeHelper.refreshVideo(YoutubeHelper.java:1536)
org.jdownloader.plugins.components.youtube.YoutubeHelper.loadVideo(YoutubeHelper.java:1365)
org.jdownloader.plugins.components.youtube.ClipDataCache.getInternal(ClipDataCache.java:105)
org.jdownloader.plugins.components.youtube.ClipDataCache.getInternal(ClipDataCache.java:176)
org.jdownloader.plugins.components.youtube.ClipDataCache.get(ClipDataCache.java:67)
jd.plugins.hoster.YoutubeDashV2.updateUrls(YoutubeDashV2.java:734)  

Source Code:

IDV1:
youtube.com-free
jd.plugins.hoster.YoutubeDashV2
java.lang.NullPointerException
org.jdownloader.plugins.components.youtube.YoutubeHelper.extractData(
Line 1166:                    if (StringUtils.isEmpty(vid.description)) {

Line 1167:                        // 04 Mai 2016

Line 1168:                        match = br.getRegex("<meta name=\"description\" content=\"([^\"]*)").getMatch(0);

Line 1169:    >>                    match = Encoding.htmlDecode(match.replaceAll("\\+", " ").trim().replaceAll("<br\\s*/>", "\r\n"));

Line 1170:                        match = match.replaceAll("<a href=\"#\" onclick=\"[^\"]+\\((\\d+)\\*60 (\\d+)\\)[^\"]+\">(.*?)</a>", "\r\nJump to $3 https://youtu.be/" + vid.videoID + "?t=$1m$2s");

Line 1171:        

Line 1172:                        match = match.replaceAll("<a.*?href=\"([^\"]*)\".*?>(.*?)</a\\s*>", "$1");

)
org.jdownloader.plugins.components.youtube.YoutubeHelper.refreshVideo(
Line 1533:                        }

Line 1534:                    }

Line 1535:                }

Line 1536:    >>            this.extractData();

Line 1537:                doFeedScan();

Line 1538:                doUserAPIScan();

Line 1539:        

)
org.jdownloader.plugins.components.youtube.YoutubeHelper.loadVideo(
Line 1362:        

Line 1363:            public void loadVideo(final YoutubeClipData vid) throws Exception {

Line 1364:                // TODO: add Cache

Line 1365:    >>            refreshVideo(vid);

Line 1366:            }

Line 1367:        

Line 1368:            public void refreshVideo(final YoutubeClipData vid) throws Exception {

)
org.jdownloader.plugins.components.youtube.ClipDataCache.getInternal(
Line 102:                    if (cachedData == null) {

Line 103:                        cachedData = new CachedClipData(proxyListNew, vid);

Line 104:        

Line 105:    >>                    helper.loadVideo(cachedData.clipData);

Line 106:                        ref = new MinTimeWeakReference<CachedClipData>(cachedData, 15000, cachedID, CLEANUP);

Line 107:                        CACHE.put(cachedID, ref);

Line 108:        

)
org.jdownloader.plugins.components.youtube.ClipDataCache.getInternal(
Line 173:            // }

Line 174:        

Line 175:            private static CachedClipData getInternal(YoutubeHelper helper, String videoID) throws Exception {

Line 176:    >>            return getInternal(helper, new YoutubeClipData(videoID));

Line 177:            }

Line 178:        

Line 179:            public static void clearCache(DownloadLink downloadLink) {

)
org.jdownloader.plugins.components.youtube.ClipDataCache.get(
Line 64:        

Line 65:            public static YoutubeClipData get(YoutubeHelper helper, DownloadLink downloadLink) throws Exception {

Line 66:                String videoID = downloadLink.getStringProperty(YoutubeHelper.YT_ID);

Line 67:    >>            CachedClipData ret = getInternal(helper, videoID);

Line 68:                ret.clipData.copyToDownloadLink(downloadLink);

Line 69:                // put a reference to the link. if we remove all links with the ref, the cache will cleanup it self

Line 70:        

)
jd.plugins.hoster.YoutubeDashV2.updateUrls(
Line 731:            private VariantInfo updateUrls(DownloadLink downloadLink) throws Exception {

Line 732:                AbstractVariant variant = getVariant(downloadLink);

Line 733:        

Line 734:    >>            YoutubeClipData clipData = ClipDataCache.get(new YoutubeHelper(br, getLogger()), downloadLink);

Line 735:        

Line 736:                if (variant instanceof SubtitleVariant) {

Line 737:                    SubtitleVariant stVariant = ((SubtitleVariant) variant);

)  

Logs (only for developers):

|Request another log

ID Outdated Date Links
5013725891641 NO Sat Apr 30 05:01:13 CEST 2016 [LogTool]

Error Chart:

Also available in: Atom PDF