From de019cc2fd8c1a3b05f0b6399f29add48700aaf8 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 19 Dec 2022 00:36:36 +0100 Subject: Fix weird exception handling. This is a bit cleaner and stops odd messages about stereoscopic assets appearing in the logs. --- src/lib/video_mxf_decoder.cc | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/src/lib/video_mxf_decoder.cc b/src/lib/video_mxf_decoder.cc index 92cab0259..40d3a461a 100644 --- a/src/lib/video_mxf_decoder.cc +++ b/src/lib/video_mxf_decoder.cc @@ -43,37 +43,22 @@ VideoMXFDecoder::VideoMXFDecoder (shared_ptr film, shared_ptr(this, content); - shared_ptr mono; try { - mono = make_shared(_content->path(0)); + auto mono = make_shared(_content->path(0)); + _mono_reader = mono->start_read (); + _mono_reader->set_check_hmac (false); + _size = mono->size (); + return; } catch (dcp::MXFFileError& e) { /* maybe it's stereo */ } catch (dcp::ReadError& e) { /* maybe it's stereo */ } - shared_ptr stereo; - try { - stereo = make_shared(_content->path(0)); - } catch (dcp::MXFFileError& e) { - if (!mono) { - throw; - } - } catch (dcp::ReadError& e) { - if (!mono) { - throw; - } - } - - if (mono) { - _mono_reader = mono->start_read (); - _mono_reader->set_check_hmac (false); - _size = mono->size (); - } else { - _stereo_reader = stereo->start_read (); - _stereo_reader->set_check_hmac (false); - _size = stereo->size (); - } + auto stereo = make_shared(_content->path(0)); + _stereo_reader = stereo->start_read (); + _stereo_reader->set_check_hmac (false); + _size = stereo->size (); } -- cgit v1.2.3