Merge pull request #8092 from bpfoley/twitter-thumbnail
[youtube-dl] / youtube_dl / downloader / fragment.py
index e2f34eec69092e96fa799e9ed78482c50779fc57..a5bae96699e0b0f81fd11deab4900fe5ed8b820d 100644 (file)
@@ -38,7 +38,7 @@ class FragmentFD(FileDownloader):
                 'continuedl': True,
                 'quiet': True,
                 'noprogress': True,
-                'ratelimit': self.params.get('ratelimit', None),
+                'ratelimit': self.params.get('ratelimit'),
                 'retries': self.params.get('retries', 0),
                 'test': self.params.get('test', False),
             }
@@ -79,15 +79,13 @@ class FragmentFD(FileDownloader):
                 return
 
             time_now = time.time()
-
+            state['elapsed'] = time_now - start
             frag_total_bytes = s.get('total_bytes') or 0
-
             if not ctx['live']:
                 estimated_size = (
                     (ctx['complete_frags_downloaded_bytes'] + frag_total_bytes) /
                     (state['frag_index'] + 1) * total_frags)
                 state['total_bytes_estimate'] = estimated_size
-            state['elapsed'] = time_now - start
 
             if s['status'] == 'finished':
                 state['frag_index'] += 1
@@ -101,7 +99,8 @@ class FragmentFD(FileDownloader):
                     state['eta'] = self.calc_eta(
                         start, time_now, estimated_size,
                         state['downloaded_bytes'])
-                state['speed'] = s.get('speed')
+                state['speed'] = s.get('speed') or ctx.get('speed')
+                ctx['speed'] = state['speed']
                 ctx['prev_frag_downloaded_bytes'] = frag_downloaded_bytes
             self._hook_progress(state)