projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[extractor/common] Add support for float durations in _parse_mpd_formats (closes...
[youtube-dl]
/
youtube_dl
/
extractor
/
common.py
diff --git
a/youtube_dl/extractor/common.py
b/youtube_dl/extractor/common.py
index 459e7ffd6ced1685e802a642b5bc63b0c61e666c..e747258aa22378ddd25acbe3aeb5b096c32b2df3 100644
(file)
--- a/
youtube_dl/extractor/common.py
+++ b/
youtube_dl/extractor/common.py
@@
-940,7
+940,8
@@
class InfoExtractor(object):
def _family_friendly_search(self, html):
# See http://schema.org/VideoObject
def _family_friendly_search(self, html):
# See http://schema.org/VideoObject
- family_friendly = self._html_search_meta('isFamilyFriendly', html)
+ family_friendly = self._html_search_meta(
+ 'isFamilyFriendly', html, default=None)
if not family_friendly:
return None
if not family_friendly:
return None
@@
-1785,7
+1786,7
@@
class InfoExtractor(object):
ms_info['timescale'] = int(timescale)
segment_duration = source.get('duration')
if segment_duration:
ms_info['timescale'] = int(timescale)
segment_duration = source.get('duration')
if segment_duration:
- ms_info['segment_duration'] =
in
t(segment_duration)
+ ms_info['segment_duration'] =
floa
t(segment_duration)
def extract_Initialization(source):
initialization = source.find(_add_ns('Initialization'))
def extract_Initialization(source):
initialization = source.find(_add_ns('Initialization'))
@@
-2114,9
+2115,9
@@
class InfoExtractor(object):
return f
return {}
return f
return {}
- def _media_formats(src, cur_media_type):
+ def _media_formats(src, cur_media_type
, type_info={}
):
full_url = absolute_url(src)
full_url = absolute_url(src)
- ext = determine_ext(full_url)
+ ext =
type_info.get('ext') or
determine_ext(full_url)
if ext == 'm3u8':
is_plain_url = False
formats = self._extract_m3u8_formats(
if ext == 'm3u8':
is_plain_url = False
formats = self._extract_m3u8_formats(
@@
-2165,9
+2166,9
@@
class InfoExtractor(object):
src = source_attributes.get('src')
if not src:
continue
src = source_attributes.get('src')
if not src:
continue
- is_plain_url, formats = _media_formats(src, media_type)
+ f = parse_content_type(source_attributes.get('type'))
+ is_plain_url, formats = _media_formats(src, media_type, f)
if is_plain_url:
if is_plain_url:
- f = parse_content_type(source_attributes.get('type'))
f.update(formats[0])
media_info['formats'].append(f)
else:
f.update(formats[0])
media_info['formats'].append(f)
else: