about summary refs log tree commit diff
path: root/youtube_dl/downloader
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2018-03-03 20:00:25 +0700
committerSergey M․ <dstftw@gmail.com>2018-03-03 20:00:25 +0700
commit0093c77032f6dc69131bdb324670b273bb0c27d2 (patch)
tree1e3775021de3ce32340fe773ebd828d2841c29c6 /youtube_dl/downloader
parent5616caf852424df8dd3c978043b970988a8b8901 (diff)
downloadyoutube-dl-0093c77032f6dc69131bdb324670b273bb0c27d2.tar.gz
youtube-dl-0093c77032f6dc69131bdb324670b273bb0c27d2.tar.xz
youtube-dl-0093c77032f6dc69131bdb324670b273bb0c27d2.zip
[downloader/hls] Skip uplynk ad fragments (closes #15748)
Diffstat (limited to 'youtube_dl/downloader')
-rw-r--r--youtube_dl/downloader/hls.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/youtube_dl/downloader/hls.py b/youtube_dl/downloader/hls.py
index 4dc3ab46a..fd304527e 100644
--- a/youtube_dl/downloader/hls.py
+++ b/youtube_dl/downloader/hls.py
@@ -75,8 +75,9 @@ class HlsFD(FragmentFD):
                 fd.add_progress_hook(ph)
             return fd.real_download(filename, info_dict)
 
-        def anvato_ad(s):
-            return s.startswith('#ANVATO-SEGMENT-INFO') and 'type=ad' in s
+        def is_ad_fragment(s):
+            return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=ad' in s or
+                    s.startswith('#UPLYNK-SEGMENT') and s.endswith(',ad'))
 
         media_frags = 0
         ad_frags = 0
@@ -86,7 +87,7 @@ class HlsFD(FragmentFD):
             if not line:
                 continue
             if line.startswith('#'):
-                if anvato_ad(line):
+                if is_ad_fragment(line):
                     ad_frags += 1
                     ad_frag_next = True
                 continue
@@ -195,7 +196,7 @@ class HlsFD(FragmentFD):
                         'start': sub_range_start,
                         'end': sub_range_start + int(splitted_byte_range[0]),
                     }
-                elif anvato_ad(line):
+                elif is_ad_fragment(line):
                     ad_frag_next = True
 
         self._finish_frag_download(ctx)