mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Introduce --skip-unavailable-fragments
This commit is contained in:
		| @@ -318,6 +318,7 @@ def _real_main(argv=None): | |||||||
|         'nooverwrites': opts.nooverwrites, |         'nooverwrites': opts.nooverwrites, | ||||||
|         'retries': opts.retries, |         'retries': opts.retries, | ||||||
|         'fragment_retries': opts.fragment_retries, |         'fragment_retries': opts.fragment_retries, | ||||||
|  |         'skip_unavailable_fragments': opts.skip_unavailable_fragments, | ||||||
|         'buffersize': opts.buffersize, |         'buffersize': opts.buffersize, | ||||||
|         'noresizebuffer': opts.noresizebuffer, |         'noresizebuffer': opts.noresizebuffer, | ||||||
|         'continuedl': opts.continue_dl, |         'continuedl': opts.continue_dl, | ||||||
|   | |||||||
| @@ -22,14 +22,20 @@ class FragmentFD(FileDownloader): | |||||||
|  |  | ||||||
|     Available options: |     Available options: | ||||||
|  |  | ||||||
|     fragment_retries:   Number of times to retry a fragment for HTTP error (DASH only) |     fragment_retries:   Number of times to retry a fragment for HTTP error (DASH | ||||||
|  |                         and hlsnative only) | ||||||
|  |     skip_unavailable_fragments: | ||||||
|  |                         Skip unavailable fragments (DASH and hlsnative only) | ||||||
|     """ |     """ | ||||||
|  |  | ||||||
|     def report_retry_fragment(self, fragment_name, count, retries): |     def report_retry_fragment(self, fragment_name, count, retries): | ||||||
|         self.to_screen( |         self.to_screen( | ||||||
|             '[download] Got server HTTP error. Retrying fragment %s (attempt %d of %s)...' |             '[download] Got server HTTP error: %s. Retrying fragment %s (attempt %d of %s)...' | ||||||
|             % (fragment_name, count, self.format_retries(retries))) |             % (fragment_name, count, self.format_retries(retries))) | ||||||
|  |  | ||||||
|  |     def report_skip_fragment(self, fragment_name): | ||||||
|  |         self.to_screen('[download] Skipping fragment %s...' % fragment_name) | ||||||
|  |  | ||||||
|     def _prepare_and_start_frag_download(self, ctx): |     def _prepare_and_start_frag_download(self, ctx): | ||||||
|         self._prepare_frag_download(ctx) |         self._prepare_frag_download(ctx) | ||||||
|         self._start_frag_download(ctx) |         self._start_frag_download(ctx) | ||||||
|   | |||||||
| @@ -423,7 +423,15 @@ def parseOpts(overrideArguments=None): | |||||||
|     downloader.add_option( |     downloader.add_option( | ||||||
|         '--fragment-retries', |         '--fragment-retries', | ||||||
|         dest='fragment_retries', metavar='RETRIES', default=10, |         dest='fragment_retries', metavar='RETRIES', default=10, | ||||||
|         help='Number of retries for a fragment (default is %default), or "infinite" (DASH only)') |         help='Number of retries for a fragment (default is %default), or "infinite" (DASH and hlsnative only)') | ||||||
|  |     downloader.add_option( | ||||||
|  |         '--skip-unavailable-fragments', | ||||||
|  |         action='store_true', dest='skip_unavailable_fragments', default=True, | ||||||
|  |         help='Skip unavailable fragments (DASH and hlsnative only)') | ||||||
|  |     general.add_option( | ||||||
|  |         '--abort-on-unavailable-fragment', | ||||||
|  |         action='store_false', dest='skip_unavailable_fragments', | ||||||
|  |         help='Abort downloading when some fragment is not available') | ||||||
|     downloader.add_option( |     downloader.add_option( | ||||||
|         '--buffer-size', |         '--buffer-size', | ||||||
|         dest='buffersize', metavar='SIZE', default='1024', |         dest='buffersize', metavar='SIZE', default='1024', | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user