|
|
@ -170,6 +170,8 @@ class RtmpFD(FileDownloader):
|
|
|
|
RD_INCOMPLETE = 2
|
|
|
|
RD_INCOMPLETE = 2
|
|
|
|
RD_NO_CONNECT = 3
|
|
|
|
RD_NO_CONNECT = 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
started = time.time()
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
retval = run_rtmpdump(args)
|
|
|
|
retval = run_rtmpdump(args)
|
|
|
|
except KeyboardInterrupt:
|
|
|
|
except KeyboardInterrupt:
|
|
|
@ -184,7 +186,7 @@ class RtmpFD(FileDownloader):
|
|
|
|
|
|
|
|
|
|
|
|
while retval in (RD_INCOMPLETE, RD_FAILED) and not test and not live:
|
|
|
|
while retval in (RD_INCOMPLETE, RD_FAILED) and not test and not live:
|
|
|
|
prevsize = os.path.getsize(encodeFilename(tmpfilename))
|
|
|
|
prevsize = os.path.getsize(encodeFilename(tmpfilename))
|
|
|
|
self.to_screen('[rtmpdump] %s bytes' % prevsize)
|
|
|
|
self.to_screen('[rtmpdump] Downloaded %s bytes' % prevsize)
|
|
|
|
time.sleep(5.0) # This seems to be needed
|
|
|
|
time.sleep(5.0) # This seems to be needed
|
|
|
|
args = basic_args + ['--resume']
|
|
|
|
args = basic_args + ['--resume']
|
|
|
|
if retval == RD_FAILED:
|
|
|
|
if retval == RD_FAILED:
|
|
|
@ -201,13 +203,14 @@ class RtmpFD(FileDownloader):
|
|
|
|
break
|
|
|
|
break
|
|
|
|
if retval == RD_SUCCESS or (test and retval == RD_INCOMPLETE):
|
|
|
|
if retval == RD_SUCCESS or (test and retval == RD_INCOMPLETE):
|
|
|
|
fsize = os.path.getsize(encodeFilename(tmpfilename))
|
|
|
|
fsize = os.path.getsize(encodeFilename(tmpfilename))
|
|
|
|
self.to_screen('[rtmpdump] %s bytes' % fsize)
|
|
|
|
self.to_screen('[rtmpdump] Downloaded %s bytes' % fsize)
|
|
|
|
self.try_rename(tmpfilename, filename)
|
|
|
|
self.try_rename(tmpfilename, filename)
|
|
|
|
self._hook_progress({
|
|
|
|
self._hook_progress({
|
|
|
|
'downloaded_bytes': fsize,
|
|
|
|
'downloaded_bytes': fsize,
|
|
|
|
'total_bytes': fsize,
|
|
|
|
'total_bytes': fsize,
|
|
|
|
'filename': filename,
|
|
|
|
'filename': filename,
|
|
|
|
'status': 'finished',
|
|
|
|
'status': 'finished',
|
|
|
|
|
|
|
|
'elapsed': time.time() - started,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
return True
|
|
|
|
return True
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|