aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-05-04 21:07:43 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-05-04 22:27:44 +0530
commit6ef6bcbd6bf413340f4ea232780e504f6598b7e9 (patch)
treece9a790967ac335f09eea59a1e2f12551a7680c7
parent06425e96219e8cf1c6c0417b32f37db91434d528 (diff)
downloadhypervideo-pre-6ef6bcbd6bf413340f4ea232780e504f6598b7e9.tar.lz
hypervideo-pre-6ef6bcbd6bf413340f4ea232780e504f6598b7e9.tar.xz
hypervideo-pre-6ef6bcbd6bf413340f4ea232780e504f6598b7e9.zip
[fragment] Ensure the file is closed on error
-rw-r--r--yt_dlp/downloader/dash.py3
-rw-r--r--yt_dlp/downloader/hls.py3
2 files changed, 6 insertions, 0 deletions
diff --git a/yt_dlp/downloader/dash.py b/yt_dlp/downloader/dash.py
index 03ed5df54..4ccf53e23 100644
--- a/yt_dlp/downloader/dash.py
+++ b/yt_dlp/downloader/dash.py
@@ -113,6 +113,7 @@ class DashSegmentsFD(FragmentFD):
if count > fragment_retries:
if not fatal:
return False, frag_index
+ ctx['dest_stream'].close()
self.report_error('Giving up after %s fragment retries' % fragment_retries)
return False, frag_index
@@ -135,6 +136,7 @@ class DashSegmentsFD(FragmentFD):
self.report_skip_fragment(frag_index)
return True
else:
+ ctx['dest_stream'].close()
self.report_error(
'fragment %s not found, unable to continue' % frag_index)
return False
@@ -143,6 +145,7 @@ class DashSegmentsFD(FragmentFD):
self.report_skip_fragment(frag_index)
return True
else:
+ ctx['dest_stream'].close()
self.report_error(
'fragment %s not found, unable to continue' % frag_index)
return False
diff --git a/yt_dlp/downloader/hls.py b/yt_dlp/downloader/hls.py
index 270b33b22..8a99171f8 100644
--- a/yt_dlp/downloader/hls.py
+++ b/yt_dlp/downloader/hls.py
@@ -299,6 +299,7 @@ class HlsFD(FragmentFD):
if count <= fragment_retries:
self.report_retry_fragment(err, frag_index, count, fragment_retries)
if count > fragment_retries:
+ ctx['dest_stream'].close()
self.report_error('Giving up after %s fragment retries' % fragment_retries)
return False, frag_index
@@ -403,6 +404,7 @@ class HlsFD(FragmentFD):
self.report_skip_fragment(frag_index)
return True
else:
+ ctx['dest_stream'].close()
self.report_error(
'fragment %s not found, unable to continue' % frag_index)
return False
@@ -411,6 +413,7 @@ class HlsFD(FragmentFD):
self.report_skip_fragment(frag_index)
return True
else:
+ ctx['dest_stream'].close()
self.report_error(
'fragment %s not found, unable to continue' % frag_index)
return False