mirror of https://github.com/yt-dlp/yt-dlp.git
[downloader/fragment] Partially revert 4823ec9f46
Currently, when `--no-continue` is used, yt-dlp will attempt to download from the first fragment and **append** decrypted fragments to the temp file (or the actual video file), causing data duplication when resuming a partially downloaded video. This fixes the issue by partially reverting the behavior of the fragment downloader to match its description in the README file.
This commit is contained in:
parent
a006ce2b27
commit
a3406c0325
|
@ -187,9 +187,7 @@ class FragmentFD(FileDownloader):
|
||||||
})
|
})
|
||||||
|
|
||||||
if self.__do_ytdl_file(ctx):
|
if self.__do_ytdl_file(ctx):
|
||||||
ytdl_file_exists = os.path.isfile(encodeFilename(self.ytdl_filename(ctx['filename'])))
|
if os.path.isfile(encodeFilename(self.ytdl_filename(ctx['filename']))):
|
||||||
continuedl = self.params.get('continuedl', True)
|
|
||||||
if continuedl and ytdl_file_exists:
|
|
||||||
self._read_ytdl_file(ctx)
|
self._read_ytdl_file(ctx)
|
||||||
is_corrupt = ctx.get('ytdl_corrupt') is True
|
is_corrupt = ctx.get('ytdl_corrupt') is True
|
||||||
is_inconsistent = ctx['fragment_index'] > 0 and resume_len == 0
|
is_inconsistent = ctx['fragment_index'] > 0 and resume_len == 0
|
||||||
|
@ -203,12 +201,7 @@ class FragmentFD(FileDownloader):
|
||||||
if 'ytdl_corrupt' in ctx:
|
if 'ytdl_corrupt' in ctx:
|
||||||
del ctx['ytdl_corrupt']
|
del ctx['ytdl_corrupt']
|
||||||
self._write_ytdl_file(ctx)
|
self._write_ytdl_file(ctx)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if not continuedl:
|
|
||||||
if ytdl_file_exists:
|
|
||||||
self._read_ytdl_file(ctx)
|
|
||||||
ctx['fragment_index'] = resume_len = 0
|
|
||||||
self._write_ytdl_file(ctx)
|
self._write_ytdl_file(ctx)
|
||||||
assert ctx['fragment_index'] == 0
|
assert ctx['fragment_index'] == 0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue