aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2016-10-11 20:50:52 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2016-10-11 20:50:52 +0800
commit55642487f072565bea3b2826b836a1a3159a3807 (patch)
treee44e608d513920a73298e6e7b62ed35344a0384e
parent3d643f4cec5ded2be9958d5cd0e31176b2074e37 (diff)
[nhl] Skip invalid m3u8 formats (closes #10713)
-rw-r--r--ChangeLog1
-rw-r--r--youtube_dl/extractor/nhl.py18
2 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 76c446a6d..9a7e7133b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@ Core
* [Makefile] Support for GNU make < 4 is fixed; BSD make dropped (#9387)
Extractors
+* [nhl] Correctly handle invalid formats (#10713)
* [footyroom] Fix extraction (#10810)
* [abc.net.au:iview] Fix for standalone (non series) videos (#10895)
+ [hbo] Add support for episode pages (#10892)
diff --git a/youtube_dl/extractor/nhl.py b/youtube_dl/extractor/nhl.py
index 26149c88f..62ce800c0 100644
--- a/youtube_dl/extractor/nhl.py
+++ b/youtube_dl/extractor/nhl.py
@@ -275,6 +275,18 @@ class NHLIE(InfoExtractor):
'timestamp': 1454544904,
},
}, {
+ # Some m3u8 URLs are invalid (https://github.com/rg3/youtube-dl/issues/10713)
+ 'url': 'https://www.nhl.com/predators/video/poile-laviolette-on-subban-trade/t-277437416/c-44315003',
+ 'md5': '50b2bb47f405121484dda3ccbea25459',
+ 'info_dict': {
+ 'id': '44315003',
+ 'ext': 'mp4',
+ 'title': 'Poile, Laviolette on Subban trade',
+ 'description': 'General manager David Poile and head coach Peter Laviolette share their thoughts on acquiring P.K. Subban from Montreal (06/29/16)',
+ 'timestamp': 1467242866,
+ 'upload_date': '20160629',
+ },
+ }, {
'url': 'https://www.wch2016.com/video/caneur-best-of-game-2-micd-up/t-281230378/c-44983703',
'only_matching': True,
}, {
@@ -301,9 +313,11 @@ class NHLIE(InfoExtractor):
continue
ext = determine_ext(playback_url)
if ext == 'm3u8':
- formats.extend(self._extract_m3u8_formats(
+ m3u8_formats = self._extract_m3u8_formats(
playback_url, video_id, 'mp4', 'm3u8_native',
- m3u8_id=playback.get('name', 'hls'), fatal=False))
+ m3u8_id=playback.get('name', 'hls'), fatal=False)
+ self._check_formats(m3u8_formats, video_id)
+ formats.extend(m3u8_formats)
else:
height = int_or_none(playback.get('height'))
formats.append({