diff options
Diffstat (limited to 'src/lib/decoder_factory.cc')
| -rw-r--r-- | src/lib/decoder_factory.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/decoder_factory.cc b/src/lib/decoder_factory.cc index 02d7064f4..b9baefa80 100644 --- a/src/lib/decoder_factory.cc +++ b/src/lib/decoder_factory.cc @@ -46,7 +46,12 @@ decoder_factory (shared_ptr<const Content> content, shared_ptr<Log> log, bool fa shared_ptr<const DCPContent> dc = dynamic_pointer_cast<const DCPContent> (content); if (dc) { - return shared_ptr<Decoder> (new DCPDecoder (dc, log, fast)); + try { + return shared_ptr<Decoder> (new DCPDecoder (dc, log, fast)); + } catch (KDMError& e) { + /* This will be found and reported to the user when the content is examined */ + return 0; + } } shared_ptr<const ImageContent> ic = dynamic_pointer_cast<const ImageContent> (content); |
