diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-02-24 01:05:14 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-02-24 23:35:11 +0000 |
| commit | 14cccb179fff7bbbf422e13f9d2e3264239c93c7 (patch) | |
| tree | 15b8c2f07965f22aabd3fcfa0494ffa51d8e09e6 /src/lib/player_video.h | |
| parent | 63eb29920980dfecf4c5f06a1746dad830b7ea32 (diff) | |
Speed some operations by re-using the last PlayerVideo but with
updated metadata (where possible). Helps with #1194.
Diffstat (limited to 'src/lib/player_video.h')
| -rw-r--r-- | src/lib/player_video.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/player_video.h b/src/lib/player_video.h index a6e39d66e..7cc00f46b 100644 --- a/src/lib/player_video.h +++ b/src/lib/player_video.h @@ -30,6 +30,7 @@ extern "C" { #include <libavutil/pixfmt.h> } #include <boost/shared_ptr.hpp> +#include <boost/weak_ptr.hpp> class Image; class ImageProxy; @@ -50,7 +51,9 @@ public: dcp::Size, Eyes, Part, - boost::optional<ColourConversion> + boost::optional<ColourConversion>, + boost::weak_ptr<Content>, + boost::optional<Frame> ); PlayerVideo (boost::shared_ptr<cxml::Node>, boost::shared_ptr<Socket>); @@ -68,6 +71,8 @@ public: void add_metadata (xmlpp::Node* node) const; void send_binary (boost::shared_ptr<Socket> socket) const; + void reset_metadata (dcp::Size video_container_size, dcp::Size film_frame_size); + bool has_j2k () const; dcp::Data j2k () const; @@ -105,6 +110,10 @@ private: Part _part; boost::optional<ColourConversion> _colour_conversion; boost::optional<PositionImage> _subtitle; + /** Content that we came from. This is so that reset_metadata() can work */ + boost::weak_ptr<Content> _content; + /** Video frame that we came from. Again, this is for reset_metadata() */ + boost::optional<Frame> _video_frame; }; #endif |
