aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbashonly <88596187+bashonly@users.noreply.github.com>2023-11-07 15:28:34 -0600
committerGitHub <noreply@github.com>2023-11-07 21:28:34 +0000
commit2622c804d1a5accc3045db398e0fc52074f4bdb3 (patch)
treeddfe28436c6284f5c04938ec46f76cbb4e9a0391
parentfd8fcf8f4f7555be807fbafa5565586f565374ee (diff)
[fd/dash] Force native downloader for `--live-from-start` (#8339)
Closes #8212 Authored by: bashonly
-rw-r--r--yt_dlp/downloader/dash.py11
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 = []