diff options
Diffstat (limited to 'youtube_dl')
| -rw-r--r-- | youtube_dl/__init__.py | 1 | ||||
| -rw-r--r-- | youtube_dl/downloader/fragment.py | 10 | ||||
| -rw-r--r-- | youtube_dl/options.py | 10 | 
3 files changed, 18 insertions, 3 deletions
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index a9730292c..42128272a 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -318,6 +318,7 @@ def _real_main(argv=None):          'nooverwrites': opts.nooverwrites,          'retries': opts.retries,          'fragment_retries': opts.fragment_retries, +        'skip_unavailable_fragments': opts.skip_unavailable_fragments,          'buffersize': opts.buffersize,          'noresizebuffer': opts.noresizebuffer,          'continuedl': opts.continue_dl, diff --git a/youtube_dl/downloader/fragment.py b/youtube_dl/downloader/fragment.py index ba903ae10..b4a798f8f 100644 --- a/youtube_dl/downloader/fragment.py +++ b/youtube_dl/downloader/fragment.py @@ -22,14 +22,20 @@ class FragmentFD(FileDownloader):      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):          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))) +    def report_skip_fragment(self, fragment_name): +        self.to_screen('[download] Skipping fragment %s...' % fragment_name) +      def _prepare_and_start_frag_download(self, ctx):          self._prepare_frag_download(ctx)          self._start_frag_download(ctx) diff --git a/youtube_dl/options.py b/youtube_dl/options.py index 5d62deef4..56f312f57 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -423,7 +423,15 @@ def parseOpts(overrideArguments=None):      downloader.add_option(          '--fragment-retries',          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(          '--buffer-size',          dest='buffersize', metavar='SIZE', default='1024',  | 
