diff options
author | bashonly <88596187+bashonly@users.noreply.github.com> | 2023-11-07 15:28:34 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-07 21:28:34 +0000 |
commit | 2622c804d1a5accc3045db398e0fc52074f4bdb3 (patch) | |
tree | ddfe28436c6284f5c04938ec46f76cbb4e9a0391 | |
parent | fd8fcf8f4f7555be807fbafa5565586f565374ee (diff) |
[fd/dash] Force native downloader for `--live-from-start` (#8339)
Closes #8212
Authored by: bashonly
-rw-r--r-- | yt_dlp/downloader/dash.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/yt_dlp/downloader/dash.py b/yt_dlp/downloader/dash.py index 4328d739c..afc79b6ca 100644 --- a/yt_dlp/downloader/dash.py +++ b/yt_dlp/downloader/dash.py @@ -15,12 +15,15 @@ class DashSegmentsFD(FragmentFD): FD_NAME = 'dashsegments' def real_download(self, filename, info_dict): - if info_dict.get('is_live') and set(info_dict['protocol'].split('+')) != {'http_dash_segments_generator'}: - self.report_error('Live DASH videos are not supported') + if 'http_dash_segments_generator' in info_dict['protocol'].split('+'): + real_downloader = None # No external FD can support --live-from-start + else: + if info_dict.get('is_live'): + self.report_error('Live DASH videos are not supported') + real_downloader = get_suitable_downloader( + info_dict, self.params, None, protocol='dash_frag_urls', to_stdout=(filename == '-')) real_start = time.time() - real_downloader = get_suitable_downloader( - info_dict, self.params, None, protocol='dash_frag_urls', to_stdout=(filename == '-')) requested_formats = [{**info_dict, **fmt} for fmt in info_dict.get('requested_formats', [])] args = [] |