summaryrefslogtreecommitdiff
path: root/src/lib/image_decoder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/image_decoder.cc')
-rw-r--r--src/lib/image_decoder.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/image_decoder.cc b/src/lib/image_decoder.cc
index 9e90b5bc8..a5ca67e0d 100644
--- a/src/lib/image_decoder.cc
+++ b/src/lib/image_decoder.cc
@@ -54,7 +54,14 @@ ImageDecoder::pass ()
return false;
}
- Magick::Image* magick_image = new Magick::Image (_image_content->path (_image_content->still() ? 0 : _video_position).string ());
+ Magick::Image* magick_image = 0;
+ boost::filesystem::path const path = _image_content->path (_image_content->still() ? 0 : _video_position);
+ try {
+ magick_image = new Magick::Image (path.string ());
+ } catch (...) {
+ throw OpenFileError (path);
+ }
+
libdcp::Size size (magick_image->columns(), magick_image->rows());
_image.reset (new Image (PIX_FMT_RGB24, size, true));