Don’t try to merge the formats if ffmpeg or avconv are not installed

This commit is contained in:
Jaime Marquínez Ferrándiz 2014-01-15 12:59:15 +01:00
parent a9f53ce7ea
commit 58c3c7ae38
1 changed files with 9 additions and 1 deletions

View File

@ -908,6 +908,14 @@ class YoutubeDL(object):
if info_dict.get('requested_formats') is not None: if info_dict.get('requested_formats') is not None:
downloaded = [] downloaded = []
success = True success = True
merger = FFmpegMergerPP(self)
if not merger._get_executable():
postprocessors = []
self.report_warning('You have requested multiple '
'formats but ffmpeg or avconv are not installed.'
' The formats won\'t be merged')
else:
postprocessors = [merger]
for f in info_dict['requested_formats']: for f in info_dict['requested_formats']:
new_info = dict(info_dict) new_info = dict(info_dict)
new_info.update(f) new_info.update(f)
@ -916,7 +924,7 @@ class YoutubeDL(object):
downloaded.append(fname) downloaded.append(fname)
partial_success = dl(fname, new_info) partial_success = dl(fname, new_info)
success = success and partial_success success = success and partial_success
info_dict['__postprocessors'] = [FFmpegMergerPP(self)] info_dict['__postprocessors'] = postprocessors
info_dict['__files_to_merge'] = downloaded info_dict['__files_to_merge'] = downloaded
else: else:
# Just a single file # Just a single file