aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2015-06-04 22:05:33 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2015-06-04 22:05:33 +0800
commitb9258c61789388b49792ebdceb5d804217a36da5 (patch)
treea0a94418785cdb3b212b0b85eb20cd353408a7e6
parent6800d3372f35e08dcc4d34d06601815bf0cb0a3d (diff)
[YoutubeDL] Change how DashSegmentsFD is selected
-rw-r--r--youtube_dl/downloader/__init__.py2
-rw-r--r--youtube_dl/downloader/http.py4
-rw-r--r--youtube_dl/extractor/youtube.py3
3 files changed, 4 insertions, 5 deletions
diff --git a/youtube_dl/downloader/__init__.py b/youtube_dl/downloader/__init__.py
index f110830c4..1b618ab54 100644
--- a/youtube_dl/downloader/__init__.py
+++ b/youtube_dl/downloader/__init__.py
@@ -8,6 +8,7 @@ from .hls import NativeHlsFD
from .http import HttpFD
from .rtsp import RtspFD
from .rtmp import RtmpFD
+from .dash import DashSegmentsFD
from ..utils import (
determine_protocol,
@@ -20,6 +21,7 @@ PROTOCOL_MAP = {
'mms': RtspFD,
'rtsp': RtspFD,
'f4m': F4mFD,
+ 'dash_segments': DashSegmentsFD,
}
diff --git a/youtube_dl/downloader/http.py b/youtube_dl/downloader/http.py
index ceacb8522..b7f144af9 100644
--- a/youtube_dl/downloader/http.py
+++ b/youtube_dl/downloader/http.py
@@ -6,7 +6,6 @@ import socket
import time
from .common import FileDownloader
-from .dash import DashSegmentsFD
from ..compat import (
compat_urllib_request,
compat_urllib_error,
@@ -20,9 +19,6 @@ from ..utils import (
class HttpFD(FileDownloader):
def real_download(self, filename, info_dict):
- if info_dict.get('initialization_url') and list(filter(None, info_dict.get('segment_urls', []))):
- return DashSegmentsFD(self.ydl, self.params).real_download(filename, info_dict)
-
url = info_dict['url']
tmpfilename = self.temp_name(filename)
stream = None
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index 5d1297e0d..692d4d8db 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -819,7 +819,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
if segment_list:
f.update({
'initialization_url': segment_list.find('{urn:mpeg:DASH:schema:MPD:2011}Initialization').attrib['sourceURL'],
- 'segment_urls': [segment.attrib.get('media') for segment in segment_list.findall('{urn:mpeg:DASH:schema:MPD:2011}SegmentURL')]
+ 'segment_urls': [segment.attrib.get('media') for segment in segment_list.findall('{urn:mpeg:DASH:schema:MPD:2011}SegmentURL')],
+ 'protocol': 'dash_segments',
})
try:
existing_format = next(