diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-01-20 11:27:34 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-01-20 11:27:34 +0000 |
| commit | 636f38514b91b4e5bc85b78d61bd1d121e73b9cf (patch) | |
| tree | 90de8b18a3cb595c5cfcff8d6667be79b1a4c7f1 /src/lib/image_examiner.cc | |
| parent | d926857355adf2b134fd8892b0a009ae90416e02 (diff) | |
More informative error when failing to decode JPEG2000 files.
Diffstat (limited to 'src/lib/image_examiner.cc')
| -rw-r--r-- | src/lib/image_examiner.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/image_examiner.cc b/src/lib/image_examiner.cc index e8db326c7..6212875b1 100644 --- a/src/lib/image_examiner.cc +++ b/src/lib/image_examiner.cc @@ -25,6 +25,7 @@ #include "config.h" #include "cross.h" #include <dcp/xyz_frame.h> +#include <dcp/exceptions.h> #include <Magick++.h> #include <iostream> @@ -53,7 +54,12 @@ ImageExaminer::ImageExaminer (shared_ptr<const Film> film, shared_ptr<const Imag } fread (buffer, 1, size, f); fclose (f); - _video_size = dcp::decompress_j2k (buffer, size, 0)->size (); + try { + _video_size = dcp::decompress_j2k (buffer, size, 0)->size (); + } catch (dcp::DCPReadError& e) { + delete[] buffer; + throw DecodeError (String::compose (_("Could not decode JPEG2000 file %1 (%2)"), path, e.what ())); + } delete[] buffer; } else { Magick::Image* image = new Magick::Image (content->path(0).string()); |
