Fix non-variant build.
[dcpomatic.git] / src / lib / magick_image_proxy.h
index 5c4532add9b1e8ae67bad08546e37087b50aa769..62f3afa2e23e01cf37be424dffa2f8fd00a350f1 100644 (file)
 class MagickImageProxy : public ImageProxy
 {
 public:
-       MagickImageProxy (boost::filesystem::path);
+       explicit MagickImageProxy (boost::filesystem::path);
        MagickImageProxy (boost::shared_ptr<cxml::Node> xml, boost::shared_ptr<Socket> socket);
 
-       boost::shared_ptr<Image> image (
+       std::pair<boost::shared_ptr<Image>, int> image (
                boost::optional<dcp::NoteHandler> note = boost::optional<dcp::NoteHandler> (),
                boost::optional<dcp::Size> size = boost::optional<dcp::Size> ()
                ) const;
@@ -38,9 +38,14 @@ public:
        void send_binary (boost::shared_ptr<Socket>) const;
        bool same (boost::shared_ptr<const ImageProxy> other) const;
        AVPixelFormat pixel_format () const;
+       size_t memory_used () const;
 
 private:
        Magick::Blob _blob;
+       /** Path of a file that this image came from, if applicable; stored so that
+           failed-decode errors can give more detail.
+       */
+       boost::optional<boost::filesystem::path> _path;
        mutable boost::shared_ptr<Image> _image;
        mutable boost::mutex _mutex;
 };