summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorremitamine <[email protected]>2015-12-28 19:15:14 +0100
committerremitamine <[email protected]>2015-12-28 19:15:14 +0100
commit39d60b715a75e92d169167876bb07424301c0b67 (patch)
tree7a9dd6db08c841ce02150f7957baad5511487b5a
parent54537cdfb3da7a64967f07df86042ffca761d937 (diff)
parentd497a201cab0eb588e9b7f75494f5494c9663e67 (diff)
downloadyoutube-dl-39d60b715a75e92d169167876bb07424301c0b67.tar.gz
youtube-dl-39d60b715a75e92d169167876bb07424301c0b67.zip
Merge pull request #7769 from remitamine/sort
[common] lower (m3u8,rtmp,rtsp) format preference only if required program is not available
-rw-r--r--youtube_dl/extractor/common.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py
index 3d39781a4..34a28c126 100644
--- a/youtube_dl/extractor/common.py
+++ b/youtube_dl/extractor/common.py
@@ -18,7 +18,6 @@ from ..compat import (
compat_http_client,
compat_urllib_error,
compat_urllib_parse,
- compat_urllib_parse_urlparse,
compat_urlparse,
compat_str,
compat_etree_fromstring,
@@ -43,6 +42,7 @@ from ..utils import (
url_basename,
xpath_text,
xpath_with_ns,
+ determine_protocol,
)
@@ -778,14 +778,12 @@ class InfoExtractor(object):
preference = f.get('preference')
if preference is None:
- proto = f.get('protocol')
- if proto is None:
- proto = compat_urllib_parse_urlparse(f.get('url', '')).scheme
-
- preference = 0 if proto in ['http', 'https'] else -0.1
+ preference = 0
if f.get('ext') in ['f4f', 'f4m']: # Not yet supported
preference -= 0.5
+ proto_preference = 0 if determine_protocol(f) in ['http', 'https'] else -0.1
+
if f.get('vcodec') == 'none': # audio only
if self._downloader.params.get('prefer_free_formats'):
ORDER = ['aac', 'mp3', 'm4a', 'webm', 'ogg', 'opus']
@@ -816,6 +814,7 @@ class InfoExtractor(object):
f.get('vbr') if f.get('vbr') is not None else -1,
f.get('height') if f.get('height') is not None else -1,
f.get('width') if f.get('width') is not None else -1,
+ proto_preference,
ext_preference,
f.get('abr') if f.get('abr') is not None else -1,
audio_ext_preference,