aboutsummaryrefslogtreecommitdiff
path: root/yt_dlp/extractor/twitch.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor/twitch.py')
-rw-r--r--yt_dlp/extractor/twitch.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/yt_dlp/extractor/twitch.py b/yt_dlp/extractor/twitch.py
index 6dc0993af..c55786a0d 100644
--- a/yt_dlp/extractor/twitch.py
+++ b/yt_dlp/extractor/twitch.py
@@ -190,10 +190,9 @@ class TwitchBaseIE(InfoExtractor):
'url': thumbnail,
}] if thumbnail else None
- def _extract_twitch_m3u8_formats(self, video_id, token, signature):
- """Subclasses must define _M3U8_PATH"""
+ def _extract_twitch_m3u8_formats(self, path, video_id, token, signature):
return self._extract_m3u8_formats(
- f'{self._USHER_BASE}/{self._M3U8_PATH}/{video_id}.m3u8', video_id, 'mp4', query={
+ f'{self._USHER_BASE}/{path}/{video_id}.m3u8', video_id, 'mp4', query={
'allow_source': 'true',
'allow_audio_only': 'true',
'allow_spectre': 'true',
@@ -216,7 +215,6 @@ class TwitchVodIE(TwitchBaseIE):
)
(?P<id>\d+)
'''
- _M3U8_PATH = 'vod'
_TESTS = [{
'url': 'http://www.twitch.tv/riotgames/v/6528877?t=5m10s',
@@ -547,7 +545,7 @@ class TwitchVodIE(TwitchBaseIE):
access_token = self._download_access_token(vod_id, 'video', 'id')
formats = self._extract_twitch_m3u8_formats(
- vod_id, access_token['value'], access_token['signature'])
+ 'vod', vod_id, access_token['value'], access_token['signature'])
formats.extend(self._extract_storyboard(vod_id, video.get('storyboard'), info.get('duration')))
self._prefer_source(formats)
@@ -926,7 +924,6 @@ class TwitchStreamIE(TwitchBaseIE):
)
(?P<id>[^/#?]+)
'''
- _M3U8_PATH = 'api/channel/hls'
_TESTS = [{
'url': 'http://www.twitch.tv/shroomztv',
@@ -1032,7 +1029,7 @@ class TwitchStreamIE(TwitchBaseIE):
stream_id = stream.get('id') or channel_name
formats = self._extract_twitch_m3u8_formats(
- channel_name, access_token['value'], access_token['signature'])
+ 'api/channel/hls', channel_name, access_token['value'], access_token['signature'])
self._prefer_source(formats)
view_count = stream.get('viewers')