diff options
Diffstat (limited to 'youtube_dl/postprocessor/ffmpeg.py')
| -rw-r--r-- | youtube_dl/postprocessor/ffmpeg.py | 21 | 
1 files changed, 17 insertions, 4 deletions
diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index 211faf69a..cc65b34e7 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -36,9 +36,7 @@ class FFmpegPostProcessor(PostProcessor):      def check_version(self):          if not self.available:              raise FFmpegPostProcessorError('ffmpeg or avconv not found. Please install one.') -        self.check_outdated() -    def check_outdated(self):          required_version = '10-0' if self.basename == 'avconv' else '1.0'          if is_outdated_version(                  self._versions[self.basename], required_version): @@ -46,8 +44,6 @@ class FFmpegPostProcessor(PostProcessor):                  self.basename, self.basename, required_version)              if self._downloader:                  self._downloader.report_warning(warning) -            return True -        return False      @staticmethod      def get_versions(downloader=None): @@ -595,6 +591,23 @@ class FFmpegMergerPP(FFmpegPostProcessor):          os.rename(encodeFilename(temp_filename), encodeFilename(filename))          return info['__files_to_merge'], info +    def can_merge(self): +        # TODO: figure out merge-capable ffmpeg version +        if self.basename != 'avconv': +            return True + +        required_version = '10-0' +        if is_outdated_version( +                self._versions[self.basename], required_version): +            warning = ('Your copy of %s is outdated and unable to properly mux separate video and audio files, ' +                       'youtube-dl will download single file media. ' +                       'Update %s to version %s or newer to fix this.') % ( +                           self.basename, self.basename, required_version) +            if self._downloader: +                self._downloader.report_warning(warning) +            return False +        return True +  class FFmpegFixupStretchedPP(FFmpegPostProcessor):      def run(self, info):  | 
