aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dl/extractor
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2016-10-19 16:24:43 +0100
committerSergey M <dstftw@gmail.com>2016-11-02 01:54:45 +0700
commit639e3b5c9985aacf7c0dc018c211a78161bbafd2 (patch)
tree8bd8da7f0ee1e19bf4a544a5f7b3480d785ec590 /youtube_dl/extractor
parentb2758123c5e759fdb0c7d23d380e4dd9e245cd4a (diff)
downloadyoutube-dl-639e3b5c9985aacf7c0dc018c211a78161bbafd2.zip
youtube-dl-639e3b5c9985aacf7c0dc018c211a78161bbafd2.tar.gz
youtube-dl-639e3b5c9985aacf7c0dc018c211a78161bbafd2.tar.bz2
extract ISM formats in some of the extractors
Diffstat (limited to 'youtube_dl/extractor')
-rw-r--r--youtube_dl/extractor/microsoftvirtualacademy.py7
-rw-r--r--youtube_dl/extractor/msn.py5
-rw-r--r--youtube_dl/extractor/onet.py4
-rw-r--r--youtube_dl/extractor/tvp.py3
4 files changed, 12 insertions, 7 deletions
diff --git a/youtube_dl/extractor/microsoftvirtualacademy.py b/youtube_dl/extractor/microsoftvirtualacademy.py
index afd3e98..8e0aee0 100644
--- a/youtube_dl/extractor/microsoftvirtualacademy.py
+++ b/youtube_dl/extractor/microsoftvirtualacademy.py
@@ -71,12 +71,15 @@ class MicrosoftVirtualAcademyIE(MicrosoftVirtualAcademyBaseIE):
formats = []
for sources in settings.findall(compat_xpath('.//MediaSources')):
- if sources.get('videoType') == 'smoothstreaming':
- continue
+ sources_type = sources.get('videoType')
for source in sources.findall(compat_xpath('./MediaSource')):
video_url = source.text
if not video_url or not video_url.startswith('http'):
continue
+ if sources_type == 'smoothstreaming':
+ formats.extend(self._extract_ism_formats(
+ video_url, video_id, 'mss', fatal=False))
+ continue
video_mode = source.get('videoMode')
height = int_or_none(self._search_regex(
r'^(\d+)[pP]$', video_mode or '', 'height', default=None))
diff --git a/youtube_dl/extractor/msn.py b/youtube_dl/extractor/msn.py
index 1ec8e0f..d75ce8b 100644
--- a/youtube_dl/extractor/msn.py
+++ b/youtube_dl/extractor/msn.py
@@ -69,10 +69,9 @@ class MSNIE(InfoExtractor):
if not format_url:
continue
ext = determine_ext(format_url)
- # .ism is not yet supported (see
- # https://github.com/rg3/youtube-dl/issues/8118)
if ext == 'ism':
- continue
+ formats.extend(self._extract_ism_formats(
+ format_url + '/Manifest', display_id, 'mss', fatal=False))
if 'm3u8' in format_url:
# m3u8_native should not be used here until
# https://github.com/rg3/youtube-dl/issues/9913 is fixed
diff --git a/youtube_dl/extractor/onet.py b/youtube_dl/extractor/onet.py
index 9cbc7c2..0a501b3 100644
--- a/youtube_dl/extractor/onet.py
+++ b/youtube_dl/extractor/onet.py
@@ -56,8 +56,8 @@ class OnetBaseIE(InfoExtractor):
continue
ext = determine_ext(video_url)
if format_id == 'ism':
- # TODO: Support Microsoft Smooth Streaming
- continue
+ formats.extend(self._extract_ism_formats(
+ video_url, video_id, 'mss', fatal=False))
elif ext == 'mpd':
formats.extend(self._extract_mpd_formats(
video_url, video_id, mpd_id='dash', fatal=False))
diff --git a/youtube_dl/extractor/tvp.py b/youtube_dl/extractor/tvp.py
index 2dbbc2c..06ea2b4 100644
--- a/youtube_dl/extractor/tvp.py
+++ b/youtube_dl/extractor/tvp.py
@@ -139,6 +139,9 @@ class TVPEmbedIE(InfoExtractor):
# formats.extend(self._extract_mpd_formats(
# video_url_base + '.ism/video.mpd',
# video_id, mpd_id='dash', fatal=False))
+ formats.extend(self._extract_ism_formats(
+ video_url_base + '.ism/Manifest',
+ video_id, 'mss', fatal=False))
formats.extend(self._extract_f4m_formats(
video_url_base + '.ism/video.f4m',
video_id, f4m_id='hds', fatal=False))