[ffmpeg] Fix `--ffmpeg-location` when directory is given

Bug introduced in 89efdc15dd
Closes #654
This commit is contained in:
pukkandan 2021-08-09 02:18:58 +05:30
parent e9f4ccd19e
commit 8c0ae192a4
1 changed files with 5 additions and 2 deletions

View File

@ -109,7 +109,9 @@ class FFmpegPostProcessor(PostProcessor):
'Continuing without ffmpeg.' % (location)) 'Continuing without ffmpeg.' % (location))
self._versions = {} self._versions = {}
return return
elif not os.path.isdir(location): elif os.path.isdir(location):
dirname, basename = location, None
else:
basename = os.path.splitext(os.path.basename(location))[0] basename = os.path.splitext(os.path.basename(location))[0]
basename = next((p for p in programs if basename.startswith(p)), 'ffmpeg') basename = next((p for p in programs if basename.startswith(p)), 'ffmpeg')
dirname = os.path.dirname(os.path.abspath(location)) dirname = os.path.dirname(os.path.abspath(location))
@ -118,7 +120,8 @@ class FFmpegPostProcessor(PostProcessor):
self._paths = dict( self._paths = dict(
(p, os.path.join(dirname, p)) for p in programs) (p, os.path.join(dirname, p)) for p in programs)
self._paths[basename] = location if basename:
self._paths[basename] = location
self._versions = dict( self._versions = dict(
(p, get_ffmpeg_version(self._paths[p])) for p in programs) (p, get_ffmpeg_version(self._paths[p])) for p in programs)
if self._versions is None: if self._versions is None: