[extractor/common] remove duplicate rtmp formats in smil manifest

This commit is contained in:
remitamine 2016-02-11 17:58:48 +01:00
parent 388ae76b52
commit 81e1c4e2fc

View File

@ -1186,12 +1186,13 @@ class InfoExtractor(object):
http_count = 0 http_count = 0
m3u8_count = 0 m3u8_count = 0
src_urls = [] srcs = []
videos = smil.findall(self._xpath_ns('.//video', namespace)) videos = smil.findall(self._xpath_ns('.//video', namespace))
for video in videos: for video in videos:
src = video.get('src') src = video.get('src')
if not src: if not src or src in srcs:
continue continue
srcs.append(src)
bitrate = float_or_none(video.get('system-bitrate') or video.get('systemBitrate'), 1000) bitrate = float_or_none(video.get('system-bitrate') or video.get('systemBitrate'), 1000)
filesize = int_or_none(video.get('size') or video.get('fileSize')) filesize = int_or_none(video.get('size') or video.get('fileSize'))
@ -1223,9 +1224,6 @@ class InfoExtractor(object):
continue continue
src_url = src if src.startswith('http') else compat_urlparse.urljoin(base, src) src_url = src if src.startswith('http') else compat_urlparse.urljoin(base, src)
if src_url in src_urls:
continue
src_urls.append(src_url)
if proto == 'm3u8' or src_ext == 'm3u8': if proto == 'm3u8' or src_ext == 'm3u8':
m3u8_formats = self._extract_m3u8_formats( m3u8_formats = self._extract_m3u8_formats(