1
0
Fork 0
mirror of https://github.com/blackjack4494/yt-dlc.git synced 2024-12-26 01:37:27 +00:00

[extractor/common] Fix format_id when last_media is None and always include m3u8_id if present

The rationale behind `m3u8_id` was to resolve duplicates when processing several m3u8 playlists within the same media that give equal resulting `format_id`'s,
e.g. `youtube-dl http://www.rts.ch/play/tv/passe-moi-les-jumelles/video/la-fee-des-bois-mustang-les-chemins-du-vent?id=3854925 -F`
This commit is contained in:
Sergey M․ 2015-03-06 22:52:50 +06:00
parent d0e958c71c
commit 8dc9d361c2

View file

@ -883,12 +883,13 @@ class InfoExtractor(object):
formats.append({'url': format_url(line)}) formats.append({'url': format_url(line)})
continue continue
tbr = int_or_none(last_info.get('BANDWIDTH'), scale=1000) tbr = int_or_none(last_info.get('BANDWIDTH'), scale=1000)
format_id = last_media.get('NAME') format_id = []
if not format_id: if m3u8_id:
format_id = '-'.join(filter(None, [ format_id.append(m3u8_id)
m3u8_id, 'm3u8-%d' % (tbr if tbr else len(formats))])) last_media_name = last_media.get('NAME') if last_media else None
format_id.append(last_media_name if last_media_name else '%d' % (tbr if tbr else len(formats)))
f = { f = {
'format_id': format_id, 'format_id': '-'.join(format_id),
'url': format_url(line.strip()), 'url': format_url(line.strip()),
'tbr': tbr, 'tbr': tbr,
'ext': ext, 'ext': ext,