[uplynk] force downloading using hls native downloader(closes #11496)
authorRemita Amine <remitamine@gmail.com>
Tue, 20 Dec 2016 18:49:45 +0000 (19:49 +0100)
committerRemita Amine <remitamine@gmail.com>
Tue, 20 Dec 2016 18:49:45 +0000 (19:49 +0100)
youtube_dl/downloader/hls.py
youtube_dl/extractor/uplynk.py

index 7373ec05fd0d4a1d983f48668229b21d98977581..4989abce12ee236e5c528778e5b95f67d92e165e 100644 (file)
@@ -65,6 +65,9 @@ class HlsFD(FragmentFD):
         s = manifest.decode('utf-8', 'ignore')
 
         if not self.can_download(s, info_dict):
+            if info_dict.get('extra_param_to_segment_url'):
+                self.report_error('pycrypto not found. Please install it.')
+                return False
             self.report_warning(
                 'hlsnative has detected features it does not support, '
                 'extraction will be delegated to ffmpeg')
index 2cd22cf8a1afa51403b3b9801ca7dd08c03503a9..f06bf5b127fd0f352937d79fa6d5267fcb7cdb26 100644 (file)
@@ -30,7 +30,9 @@ class UplynkIE(InfoExtractor):
     def _extract_uplynk_info(self, uplynk_content_url):
         path, external_id, video_id, session_id = re.match(UplynkIE._VALID_URL, uplynk_content_url).groups()
         display_id = video_id or external_id
-        formats = self._extract_m3u8_formats('http://content.uplynk.com/%s.m3u8' % path, display_id, 'mp4')
+        formats = self._extract_m3u8_formats(
+            'http://content.uplynk.com/%s.m3u8' % path,
+            display_id, 'mp4', 'm3u8_native')
         if session_id:
             for f in formats:
                 f['extra_param_to_segment_url'] = 'pbs=' + session_id