X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_image_proxy.h;h=92689abe89245df278c97cb1b463023d84e681b1;hb=c699b77bce027c3ab70f04c411dc43f3ba628b28;hp=aa77003a4f9169c90bbf47471806700369f6b96e;hpb=e9cca90a162e3e4b1db4a5e5188831beaa69d44e;p=dcpomatic.git diff --git a/src/lib/ffmpeg_image_proxy.h b/src/lib/ffmpeg_image_proxy.h index aa77003a4..92689abe8 100644 --- a/src/lib/ffmpeg_image_proxy.h +++ b/src/lib/ffmpeg_image_proxy.h @@ -19,36 +19,38 @@ */ #include "image_proxy.h" -#include +#include "types.h" +#include #include #include class FFmpegImageProxy : public ImageProxy { public: - explicit FFmpegImageProxy (boost::filesystem::path); - explicit FFmpegImageProxy (dcp::Data); - FFmpegImageProxy (boost::shared_ptr xml, boost::shared_ptr socket); + explicit FFmpegImageProxy (boost::filesystem::path, VideoRange video_range); + explicit FFmpegImageProxy (dcp::ArrayData, VideoRange video_range); + FFmpegImageProxy (std::shared_ptr xml, std::shared_ptr socket); Result image ( boost::optional size = boost::optional () ) const; void add_metadata (xmlpp::Node *) const; - void write_to_socket (boost::shared_ptr) const; - bool same (boost::shared_ptr other) const; + void write_to_socket (std::shared_ptr) const; + bool same (std::shared_ptr other) const; size_t memory_used () const; int avio_read (uint8_t* buffer, int const amount); int64_t avio_seek (int64_t const pos, int whence); private: - dcp::Data _data; + dcp::ArrayData _data; + VideoRange _video_range; mutable int64_t _pos; /** Path of a file that this image came from, if applicable; stored so that failed-decode errors can give more detail. */ boost::optional _path; - mutable boost::shared_ptr _image; + mutable std::shared_ptr _image; mutable boost::mutex _mutex; };