projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[README.md] Make download URLs consistent
[youtube-dl]
/
youtube_dl
/
downloader
/
fragment.py
diff --git
a/youtube_dl/downloader/fragment.py
b/youtube_dl/downloader/fragment.py
index e2f34eec69092e96fa799e9ed78482c50779fc57..ba903ae103a7bc6817378389a34713d9a5550e19 100644
(file)
--- a/
youtube_dl/downloader/fragment.py
+++ b/
youtube_dl/downloader/fragment.py
@@
-19,8
+19,17
@@
class HttpQuietDownloader(HttpFD):
class FragmentFD(FileDownloader):
"""
A base file downloader class for fragmented media (e.g. f4m/m3u8 manifests).
class FragmentFD(FileDownloader):
"""
A base file downloader class for fragmented media (e.g. f4m/m3u8 manifests).
+
+ Available options:
+
+ fragment_retries: Number of times to retry a fragment for HTTP error (DASH only)
"""
"""
+ def report_retry_fragment(self, fragment_name, count, retries):
+ self.to_screen(
+ '[download] Got server HTTP error. Retrying fragment %s (attempt %d of %s)...'
+ % (fragment_name, count, self.format_retries(retries)))
+
def _prepare_and_start_frag_download(self, ctx):
self._prepare_frag_download(ctx)
self._start_frag_download(ctx)
def _prepare_and_start_frag_download(self, ctx):
self._prepare_frag_download(ctx)
self._start_frag_download(ctx)
@@
-38,7
+47,7
@@
class FragmentFD(FileDownloader):
'continuedl': True,
'quiet': True,
'noprogress': True,
'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),
}
'retries': self.params.get('retries', 0),
'test': self.params.get('test', False),
}
@@
-79,15
+88,13
@@
class FragmentFD(FileDownloader):
return
time_now = time.time()
return
time_now = time.time()
-
+ state['elapsed'] = time_now - start
frag_total_bytes = s.get('total_bytes') or 0
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
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
if s['status'] == 'finished':
state['frag_index'] += 1
@@
-101,7
+108,8
@@
class FragmentFD(FileDownloader):
state['eta'] = self.calc_eta(
start, time_now, estimated_size,
state['downloaded_bytes'])
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)
ctx['prev_frag_downloaded_bytes'] = frag_downloaded_bytes
self._hook_progress(state)