diff options
| author | Sergey M․ <dstftw@gmail.com> | 2016-03-18 22:45:28 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2016-03-18 22:45:28 +0600 | 
| commit | 5940862d5a75ae45a640e0ce3104dd18c9864e26 (patch) | |
| tree | 1273493555a6f33e57becd2fc4d217074e068ce2 /youtube_dl/extractor/generic.py | |
| parent | de6c51e88eb61b49a95ccfcfa82547c2172eb52b (diff) | |
[extractor/generic] Detect m3u playlists served without proper Content-Type
Diffstat (limited to 'youtube_dl/extractor/generic.py')
| -rw-r--r-- | youtube_dl/extractor/generic.py | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 5649e26da..24d43a247 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -1299,9 +1299,15 @@ class GenericIE(InfoExtractor):              request.add_header('Accept-Encoding', '*')              full_response = self._request_webpage(request, video_id) +        first_bytes = full_response.read(512) + +        # Is it an M3U playlist? +        if first_bytes.startswith('#EXTM3U'): +            info_dict['formats'] = self._extract_m3u8_formats(url, video_id, 'mp4') +            return info_dict +          # Maybe it's a direct link to a video?          # Be careful not to download the whole thing! -        first_bytes = full_response.read(512)          if not is_html(first_bytes):              self._downloader.report_warning(                  'URL could be a direct video link, returning it as such.') | 
