diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 7fbd00c01c..2ba5fb73df 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -2727,9 +2727,9 @@ def wrapper(self: 'YoutubeDL', *args, **kwargs): try: return func(self, *args, **kwargs) finally: - streams = list(self._opened_streams) + streams = list(x for x in self._opened_streams if not getattr(x, 'closed', False)) + self._opened_streams[:] = [] if streams: - self._opened_streams[:] = [] self.write_debug(f'Cleaning up {len(streams)} streams') for st in streams: if not st: