]> jfr.im git - yt-dlp.git/commitdiff
[fragment] Make sure first segment is not skipped
authorpukkandan <redacted>
Sat, 8 May 2021 18:12:25 +0000 (23:42 +0530)
committerpukkandan <redacted>
Sat, 8 May 2021 22:52:26 +0000 (04:22 +0530)
yt_dlp/downloader/dash.py
yt_dlp/downloader/hls.py

index 4ccf53e23d332170836b98f4d8f3c8acbf0aca3b..b3ebfb057389d3256657bcda6324b61ab9073c5b 100644 (file)
@@ -120,6 +120,7 @@ def download_fragment(fragment):
                 return frag_content, frag_index
 
             def append_fragment(frag_content, frag_index):
+                fatal = frag_index == 1 or not skip_unavailable_fragments
                 if frag_content:
                     fragment_filename = '%s-Frag%d' % (ctx['tmpfilename'], frag_index)
                     try:
@@ -132,7 +133,7 @@ def append_fragment(frag_content, frag_index):
                         if ose.errno != errno.ENOENT:
                             raise
                         # FileNotFoundError
-                        if skip_unavailable_fragments:
+                        if not fatal:
                             self.report_skip_fragment(frag_index)
                             return True
                         else:
@@ -141,7 +142,7 @@ def append_fragment(frag_content, frag_index):
                                 'fragment %s not found, unable to continue' % frag_index)
                             return False
                 else:
-                    if skip_unavailable_fragments:
+                    if not fatal:
                         self.report_skip_fragment(frag_index)
                         return True
                     else:
index 8a99171f82737edfef6cb8bc5bbceb6446ccb143..c66902cdf06c6349461cdcbe6348a7e2147684a9 100644 (file)
@@ -387,6 +387,7 @@ def pack_fragment(frag_content, frag_index):
                     return output.getvalue().encode('utf-8')
 
             def append_fragment(frag_content, frag_index):
+                fatal = frag_index == 1 or not skip_unavailable_fragments
                 if frag_content:
                     fragment_filename = '%s-Frag%d' % (ctx['tmpfilename'], frag_index)
                     try:
@@ -400,7 +401,7 @@ def append_fragment(frag_content, frag_index):
                         if ose.errno != errno.ENOENT:
                             raise
                         # FileNotFoundError
-                        if skip_unavailable_fragments:
+                        if not fatal:
                             self.report_skip_fragment(frag_index)
                             return True
                         else:
@@ -409,7 +410,7 @@ def append_fragment(frag_content, frag_index):
                                 'fragment %s not found, unable to continue' % frag_index)
                             return False
                 else:
-                    if skip_unavailable_fragments:
+                    if not fatal:
                         self.report_skip_fragment(frag_index)
                         return True
                     else: