[brightcove] skip ism manifests
authorRemita Amine <remitamine@gmail.com>
Thu, 14 Jul 2016 13:13:57 +0000 (14:13 +0100)
committerRemita Amine <remitamine@gmail.com>
Thu, 14 Jul 2016 13:13:57 +0000 (14:13 +0100)
youtube_dl/extractor/brightcove.py
youtube_dl/utils.py

index c172bad2d1814937e0b488fc5f81c913aef60087..aeb22be168402fd4e7e134c164339db74f95a0f8 100644 (file)
@@ -27,6 +27,7 @@ from ..utils import (
     unsmuggle_url,
     update_url_query,
     clean_html,
+    mimetype2ext,
 )
 
 
@@ -545,14 +546,16 @@ class BrightcoveNewIE(InfoExtractor):
         formats = []
         for source in json_data.get('sources', []):
             container = source.get('container')
-            source_type = source.get('type')
+            ext = mimetype2ext(source.get('type'))
             src = source.get('src')
-            if source_type == 'application/x-mpegURL' or container == 'M2TS':
+            if ext == 'ism':
+                continue
+            elif ext == 'm3u8' or container == 'M2TS':
                 if not src:
                     continue
                 formats.extend(self._extract_m3u8_formats(
                     src, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False))
-            elif source_type == 'application/dash+xml':
+            elif ext == 'mpd':
                 if not src:
                     continue
                 formats.extend(self._extract_mpd_formats(src, video_id, 'dash', fatal=False))
@@ -568,7 +571,7 @@ class BrightcoveNewIE(InfoExtractor):
                     'tbr': tbr,
                     'filesize': int_or_none(source.get('size')),
                     'container': container,
-                    'ext': container.lower(),
+                    'ext': ext or container.lower(),
                 }
                 if width == 0 and height == 0:
                     f.update({
index 4c1d0d526d5745622b3a5257e998d5611a6ad40b..e6e0155b4e0df067da47140971aeb8469dc3e119 100644 (file)
@@ -2123,6 +2123,7 @@ def mimetype2ext(mt):
         'dash+xml': 'mpd',
         'f4m': 'f4m',
         'f4m+xml': 'f4m',
+        'vnd.ms-sstr+xml': 'ism',
     }.get(res, res)