diff --git a/yt_dlp/downloader/dash.py b/yt_dlp/downloader/dash.py index 03ed5df548..4ccf53e23d 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 270b33b22e..8a99171f82 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