1
0
Fork 0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2024-10-31 22:55:26 +00:00

[downloader/hls] Skip uplynk ad fragments (closes #15748)

This commit is contained in:
Sergey M․ 2018-03-03 20:00:25 +07:00
parent 5616caf852
commit 0093c77032
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D

View file

@ -75,8 +75,9 @@ class HlsFD(FragmentFD):
fd.add_progress_hook(ph) fd.add_progress_hook(ph)
return fd.real_download(filename, info_dict) return fd.real_download(filename, info_dict)
def anvato_ad(s): def is_ad_fragment(s):
return s.startswith('#ANVATO-SEGMENT-INFO') and 'type=ad' in s return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=ad' in s or
s.startswith('#UPLYNK-SEGMENT') and s.endswith(',ad'))
media_frags = 0 media_frags = 0
ad_frags = 0 ad_frags = 0
@ -86,7 +87,7 @@ class HlsFD(FragmentFD):
if not line: if not line:
continue continue
if line.startswith('#'): if line.startswith('#'):
if anvato_ad(line): if is_ad_fragment(line):
ad_frags += 1 ad_frags += 1
ad_frag_next = True ad_frag_next = True
continue continue
@ -195,7 +196,7 @@ class HlsFD(FragmentFD):
'start': sub_range_start, 'start': sub_range_start,
'end': sub_range_start + int(splitted_byte_range[0]), 'end': sub_range_start + int(splitted_byte_range[0]),
} }
elif anvato_ad(line): elif is_ad_fragment(line):
ad_frag_next = True ad_frag_next = True
self._finish_frag_download(ctx) self._finish_frag_download(ctx)