[downloader/hls] Do not rely on EXT-X-PLAYLIST-TYPE:EVENT
authorSergey M․ <dstftw@gmail.com>
Sat, 4 Jun 2016 20:16:05 +0000 (03:16 +0700)
committerSergey M․ <dstftw@gmail.com>
Sat, 4 Jun 2016 20:16:05 +0000 (03:16 +0700)
youtube_dl/downloader/hls.py

index 62136ee54183c879863b12947b8a01bb7a8b741a..049fb78ce90b956b51932276aecb947d94a78a33 100644 (file)
@@ -23,11 +23,17 @@ class HlsFD(FragmentFD):
         UNSUPPORTED_FEATURES = (
             r'#EXT-X-KEY:METHOD=(?!NONE)',  # encrypted streams [1]
             r'#EXT-X-BYTERANGE',  # playlists composed of byte ranges of media files [2]
+
             # Live streams heuristic does not always work (e.g. geo restricted to Germany
             # http://hls-geo.daserste.de/i/videoportal/Film/c_620000/622873/format,716451,716457,716450,716458,716459,.mp4.csmil/index_4_av.m3u8?null=0)
             # r'#EXT-X-MEDIA-SEQUENCE:(?!0$)',  # live streams [3]
-            r'#EXT-X-PLAYLIST-TYPE:EVENT',  # media segments may be appended to the end of
-                                            # event media playlists [4]
+
+            # This heuristic also is not correct since segments may not be appended as well.
+            # Twitch vods have EXT-X-PLAYLIST-TYPE:EVENT despite no segments will definitely
+            # be appended to the end of the playlist.
+            # r'#EXT-X-PLAYLIST-TYPE:EVENT',  # media segments may be appended to the end of
+                                              # event media playlists [4]
+
             # 1. https://tools.ietf.org/html/draft-pantos-http-live-streaming-17#section-4.3.2.4
             # 2. https://tools.ietf.org/html/draft-pantos-http-live-streaming-17#section-4.3.2.2
             # 3. https://tools.ietf.org/html/draft-pantos-http-live-streaming-17#section-4.3.3.2