youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 8dc9d361c22754e6b6b52136d496d754dea65b46
parent d0e958c71c8c561d1c3917d114370fcb85972181
Author: Sergey M․ <dstftw@gmail.com>
Date:   Fri,  6 Mar 2015 22:52:50 +0600

[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`

Diffstat:
Myoutube_dl/extractor/common.py | 11++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py @@ -883,12 +883,13 @@ class InfoExtractor(object): formats.append({'url': format_url(line)}) continue tbr = int_or_none(last_info.get('BANDWIDTH'), scale=1000) - format_id = last_media.get('NAME') - if not format_id: - format_id = '-'.join(filter(None, [ - m3u8_id, 'm3u8-%d' % (tbr if tbr else len(formats))])) + format_id = [] + if m3u8_id: + format_id.append(m3u8_id) + 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 = { - 'format_id': format_id, + 'format_id': '-'.join(format_id), 'url': format_url(line.strip()), 'tbr': tbr, 'ext': ext,