projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d65f6e7
)
[downloader/hls] fix uplynk ad skipping(closes #18824)
author
Remita Amine
<remitamine@gmail.com>
Sun, 13 Jan 2019 09:01:26 +0000
(10:01 +0100)
committer
Remita Amine
<remitamine@gmail.com>
Sun, 13 Jan 2019 09:03:27 +0000
(10:03 +0100)
youtube_dl/downloader/hls.py
patch
|
blob
|
history
diff --git
a/youtube_dl/downloader/hls.py
b/youtube_dl/downloader/hls.py
index fd304527e854e768038880bf785d84f211f4471b..4def8e2d579c17956f4a95ebb3de914d457c59f4 100644
(file)
--- a/
youtube_dl/downloader/hls.py
+++ b/
youtube_dl/downloader/hls.py
@@
-75,10
+75,14
@@
class HlsFD(FragmentFD):
fd.add_progress_hook(ph)
return fd.real_download(filename, info_dict)
fd.add_progress_hook(ph)
return fd.real_download(filename, info_dict)
- def is_ad_fragment(s):
+ def is_ad_fragment
_start
(s):
return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=ad' in s or
s.startswith('#UPLYNK-SEGMENT') and s.endswith(',ad'))
return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=ad' in s or
s.startswith('#UPLYNK-SEGMENT') and s.endswith(',ad'))
+ def is_ad_fragment_end(s):
+ return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=master' in s or
+ s.startswith('#UPLYNK-SEGMENT') and s.endswith(',segment'))
+
media_frags = 0
ad_frags = 0
ad_frag_next = False
media_frags = 0
ad_frags = 0
ad_frag_next = False
@@
-87,12
+91,13
@@
class HlsFD(FragmentFD):
if not line:
continue
if line.startswith('#'):
if not line:
continue
if line.startswith('#'):
- if is_ad_fragment(line):
- ad_frags += 1
+ if is_ad_fragment_start(line):
ad_frag_next = True
ad_frag_next = True
+ elif is_ad_fragment_end(line):
+ ad_frag_next = False
continue
if ad_frag_next:
continue
if ad_frag_next:
- ad_frag
_next = False
+ ad_frag
s += 1
continue
media_frags += 1
continue
media_frags += 1
@@
-123,7
+128,6
@@
class HlsFD(FragmentFD):
if line:
if not line.startswith('#'):
if ad_frag_next:
if line:
if not line.startswith('#'):
if ad_frag_next:
- ad_frag_next = False
continue
frag_index += 1
if frag_index <= ctx['fragment_index']:
continue
frag_index += 1
if frag_index <= ctx['fragment_index']:
@@
-196,8
+200,10
@@
class HlsFD(FragmentFD):
'start': sub_range_start,
'end': sub_range_start + int(splitted_byte_range[0]),
}
'start': sub_range_start,
'end': sub_range_start + int(splitted_byte_range[0]),
}
- elif is_ad_fragment(line):
+ elif is_ad_fragment
_start
(line):
ad_frag_next = True
ad_frag_next = True
+ elif is_ad_fragment_end(line):
+ ad_frag_next = False
self._finish_frag_download(ctx)
self._finish_frag_download(ctx)