[dailymotion] Extract f4m formats
authorSergey M․ <dstftw@gmail.com>
Sat, 24 Oct 2015 15:04:09 +0000 (21:04 +0600)
committerSergey M․ <dstftw@gmail.com>
Sat, 24 Oct 2015 15:04:09 +0000 (21:04 +0600)
youtube_dl/extractor/dailymotion.py

index 9cd9ff17d2559a5648e72b1f425ba0aee5ed42b4..bc782393173f315b096a640bf20bfa45cb89eb8d 100644 (file)
@@ -141,9 +141,17 @@ class DailymotionIE(DailymotionBaseInfoExtractor):
                     type_ = media.get('type')
                     if type_ == 'application/vnd.lumberjack.manifest':
                         continue
-                    if type_ == 'application/x-mpegURL' or determine_ext(media_url) == 'm3u8':
-                        formats.extend(self._extract_m3u8_formats(
-                            media_url, video_id, 'mp4', m3u8_id='hls'))
+                    ext = determine_ext(media_url)
+                    if type_ == 'application/x-mpegURL' or ext == 'm3u8':
+                        m3u8_formats = self._extract_m3u8_formats(
+                            media_url, video_id, 'mp4', m3u8_id='hls', fatal=False)
+                        if m3u8_formats:
+                            formats.extend(m3u8_formats)
+                    elif type_ == 'application/f4m' or ext == 'f4m':
+                        f4m_formats = self._extract_f4m_formats(
+                            media_url, video_id, preference=-1, f4m_id='hds', fatal=False)
+                        if f4m_formats:
+                            formats.extend(f4m_formats)
                     else:
                         f = {
                             'url': media_url,