From 8490da9fb653eb2c4c684312c4f307666a6295c0 Mon Sep 17 00:00:00 2001 From: Ross Patterson Date: Fri, 9 Aug 2019 17:30:28 -0700 Subject: [PATCH] Detect: Raise meaningful errors when no decoder/encoder can be found --- ffmpeg/_detect.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ffmpeg/_detect.py b/ffmpeg/_detect.py index 4c8891d..8d796cd 100644 --- a/ffmpeg/_detect.py +++ b/ffmpeg/_detect.py @@ -101,8 +101,15 @@ def detect_codecs(decoder, encoder, hwaccels=None, cmd='ffmpeg'): hwaccels_data = detect_hwaccels(hwaccels, cmd=cmd) build_codecs = hwaccels_data['codecs'] - avail_decoders = build_codecs[decoder]['decoders'] - avail_encoders = build_codecs[encoder]['encoders'] + + avail_decoders = build_codecs.get(decoder, {}).get('decoders', []) + avail_encoders = build_codecs.get(encoder, {}).get('encoders', []) + if not avail_decoders: + raise ValueError( + 'Could not detect a supported decoder for {0!r}'.format(decoder)) + if not avail_encoders: + raise ValueError( + 'Could not detect a supported encoder for {0!r}'.format(encoder)) codecs_kwargs = [] default_kwargs = dict(output=dict(codec=avail_encoders[0]))