def _append_fragment(self, ctx, frag_content):
try:
ctx['dest_stream'].write(frag_content)
+ ctx['dest_stream'].flush()
finally:
if self.__do_ytdl_file(ctx):
self._write_ytdl_file(ctx)
if not self.params.get('keep_fragments', False):
- os.remove(ctx['fragment_filename_sanitized'])
+ os.remove(encodeFilename(ctx['fragment_filename_sanitized']))
del ctx['fragment_filename_sanitized']
def _prepare_frag_download(self, ctx):
if os.path.isfile(ytdl_filename):
os.remove(ytdl_filename)
elapsed = time.time() - ctx['started']
- self.try_rename(ctx['tmpfilename'], ctx['filename'])
- fsize = os.path.getsize(encodeFilename(ctx['filename']))
+
+ if ctx['tmpfilename'] == '-':
+ downloaded_bytes = ctx['complete_frags_downloaded_bytes']
+ else:
+ self.try_rename(ctx['tmpfilename'], ctx['filename'])
+ downloaded_bytes = os.path.getsize(encodeFilename(ctx['filename']))
self._hook_progress({
- 'downloaded_bytes': fsize,
- 'total_bytes': fsize,
+ 'downloaded_bytes': downloaded_bytes,
+ 'total_bytes': downloaded_bytes,
'filename': ctx['filename'],
'status': 'finished',
'elapsed': elapsed,