diff options
Diffstat (limited to 'yt_dlp/downloader/fragment.py')
-rw-r--r-- | yt_dlp/downloader/fragment.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/yt_dlp/downloader/fragment.py b/yt_dlp/downloader/fragment.py index 1cc99a4e9..e3af140fd 100644 --- a/yt_dlp/downloader/fragment.py +++ b/yt_dlp/downloader/fragment.py @@ -329,7 +329,7 @@ class FragmentFD(FileDownloader): 'fragment_index': 0, }) - def download_and_append_fragments(self, ctx, fragments, info_dict, pack_func=None): + def download_and_append_fragments(self, ctx, fragments, info_dict, *, pack_func=None, finish_func=None): fragment_retries = self.params.get('fragment_retries', 0) is_fatal = (lambda idx: idx == 0) if self.params.get('skip_unavailable_fragments', True) else (lambda _: True) if not pack_func: @@ -424,5 +424,8 @@ class FragmentFD(FileDownloader): if not result: return False + if finish_func is not None: + ctx['dest_stream'].write(finish_func()) + ctx['dest_stream'].flush() self._finish_frag_download(ctx, info_dict) return True |