Bug #81732

Bug #22968: Hoster: youtube.com - Free

Hoster: youtube.com - Free |PLUGIN_DEFECT-Error: 5669c03640d9c2eec8b729447ad3d391

Added by StatServ over 3 years ago. Updated over 3 years ago.

Status:ClosedStart date:11/17/2016
Priority:LowDue date:
Assignee:-% Done:

0%

Category:Hoster
Target version:-
Resolution:

Description

PLUGIN_DEFECT-Error Detected

Error ID 5669c03640d9c2eec8b729447ad3d391
Plugin youtube.com
Account free
Revision 35430

Stacktrace:

IDV1:
youtube.com-free
jd.plugins.hoster.YoutubeDashV2
java.lang.NullPointerException
org.jdownloader.plugins.components.youtube.YoutubeHelper.extractData(YoutubeHelper.java:1064)
org.jdownloader.plugins.components.youtube.YoutubeHelper.refreshVideo(YoutubeHelper.java:1397)
org.jdownloader.plugins.components.youtube.YoutubeHelper.loadVideo(YoutubeHelper.java:1237)
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:759)  

Source Code:

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

Line 1062:                        // 04 Mai 2016

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

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

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

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

Line 1067:                        vid.description = match;

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

Line 1395:                    }

Line 1396:                }

Line 1397:    >>            this.extractData();

Line 1398:                doFeedScan();

Line 1399:                doUserAPIScan();

Line 1400:                // String html5_fmt_map;

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

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

Line 1236:                // TODO: add Cache

Line 1237:    >>            refreshVideo(vid);

Line 1238:            }

Line 1239:        

Line 1240:            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 756:            private VariantInfo updateUrls(DownloadLink downloadLink) throws Exception {

Line 757:                final AbstractVariant variant = getVariant(downloadLink);

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

Line 759:    >>            if (variant instanceof SubtitleVariant) {

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

Line 761:                    for (YoutubeSubtitleStorable si : clipData.subtitles) {

Line 762:                        if (StringUtils.equals(stVariant.getGenericInfo()._getUniqueId(), si._getUniqueId())) {

)  

Logs (only for developers):

|Request another log

ID Outdated Date Links
3135981887641 NO Thu Jul 07 10:58:15 CEST 2016 [LogTool]

Error Chart:

Also available in: Atom PDF