Merge pull request #5115 from chaos33/youporn-json
[youtube-dl] / youtube_dl / extractor / common.py
index 31368820836f8d5d6f8ae571d508da40940221be..cf39c0c21ee570f7277aacc7ca560a1509afe855 100644 (file)
@@ -767,6 +767,10 @@ class InfoExtractor(object):
                 formats)
 
     def _is_valid_url(self, url, video_id, item='video'):
+        url = self._proto_relative_url(url, scheme='http:')
+        # For now assume non HTTP(S) URLs always valid
+        if not (url.startswith('http://') or url.startswith('https://')):
+            return True
         try:
             self._request_webpage(url, video_id, 'Checking %s URL' % item)
             return True
@@ -923,18 +927,18 @@ class InfoExtractor(object):
         rtmp_count = 0
         if smil.findall('./body/seq/video'):
             video = smil.findall('./body/seq/video')[0]
-            fmts, rtmp_count = self._parse_smil_video(video, base, rtmp_count)
+            fmts, rtmp_count = self._parse_smil_video(video, video_id, base, rtmp_count)
             formats.extend(fmts)
         else:
             for video in smil.findall('./body/switch/video'):
-                fmts, rtmp_count = self._parse_smil_video(video, base, rtmp_count)
+                fmts, rtmp_count = self._parse_smil_video(video, video_id, base, rtmp_count)
                 formats.extend(fmts)
 
         self._sort_formats(formats)
 
         return formats
 
-    def _parse_smil_video(self, video, base, rtmp_count):
+    def _parse_smil_video(self, video, video_id, base, rtmp_count):
         src = video.get('src')
         if not src:
             return ([], rtmp_count)