|
|
@ -118,6 +118,7 @@ class HotStarIE(HotStarBaseIE): |
|
|
|
if video_data.get('drmProtected'): |
|
|
|
raise ExtractorError('This video is DRM protected.', expected=True) |
|
|
|
|
|
|
|
headers = {'Referer': url} |
|
|
|
formats = [] |
|
|
|
geo_restricted = False |
|
|
|
playback_sets = self._call_api_v2('h/v2/play', video_id)['playBackSets'] |
|
|
@ -137,10 +138,11 @@ class HotStarIE(HotStarBaseIE): |
|
|
|
if 'package:hls' in tags or ext == 'm3u8': |
|
|
|
formats.extend(self._extract_m3u8_formats( |
|
|
|
format_url, video_id, 'mp4', |
|
|
|
entry_protocol='m3u8_native', m3u8_id='hls')) |
|
|
|
entry_protocol='m3u8_native', |
|
|
|
m3u8_id='hls', headers=headers)) |
|
|
|
elif 'package:dash' in tags or ext == 'mpd': |
|
|
|
formats.extend(self._extract_mpd_formats( |
|
|
|
format_url, video_id, mpd_id='dash')) |
|
|
|
format_url, video_id, mpd_id='dash', headers=headers)) |
|
|
|
elif ext == 'f4m': |
|
|
|
# produce broken files |
|
|
|
pass |
|
|
@ -158,6 +160,9 @@ class HotStarIE(HotStarBaseIE): |
|
|
|
self.raise_geo_restricted(countries=['IN']) |
|
|
|
self._sort_formats(formats) |
|
|
|
|
|
|
|
for f in formats: |
|
|
|
f.setdefault('http_headers', {}).update(headers) |
|
|
|
|
|
|
|
return { |
|
|
|
'id': video_id, |
|
|
|
'title': title, |
|
|
|