Browse Source

[downloader/dash] Abort download immediately after giving up on some fragment

Sergey M․ 9 years ago
parent
commit
4a69fa04e0
1 changed files with 6 additions and 3 deletions
  1. 6 3
      youtube_dl/downloader/dash.py

+ 6 - 3
youtube_dl/downloader/dash.py

@@ -66,14 +66,17 @@ class DashSegmentsFD(FragmentFD):
             if count > fragment_retries:
             if count > fragment_retries:
                 if skip_unavailable_fragments:
                 if skip_unavailable_fragments:
                     self.report_skip_fragment(segment_name)
                     self.report_skip_fragment(segment_name)
-                    return
+                    return True
                 self.report_error('giving up after %s fragment retries' % fragment_retries)
                 self.report_error('giving up after %s fragment retries' % fragment_retries)
                 return False
                 return False
+            return True
 
 
         if initialization_url:
         if initialization_url:
-            append_url_to_file(initialization_url, ctx['tmpfilename'], 'Init')
+            if not append_url_to_file(initialization_url, ctx['tmpfilename'], 'Init'):
+                return False
         for i, segment_url in enumerate(segment_urls):
         for i, segment_url in enumerate(segment_urls):
-            append_url_to_file(segment_url, ctx['tmpfilename'], 'Seg%d' % i)
+            if not append_url_to_file(segment_url, ctx['tmpfilename'], 'Seg%d' % i):
+                return False
 
 
         self._finish_frag_download(ctx)
         self._finish_frag_download(ctx)