X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fvideo_ring_buffers.h;h=47fda01f7fd7b9c503a84d6cffc7c2dde60b15a3;hb=924f4edb20d14bc697956254951fb87513cf2e19;hp=887a5dc2fd2ca9e2c4c3c0858f9d519773b4441c;hpb=a5ea5c0d2637dd41e3d356cb62cac75b8cadf8ce;p=dcpomatic.git diff --git a/src/lib/video_ring_buffers.h b/src/lib/video_ring_buffers.h index 887a5dc2f..47fda01f7 100644 --- a/src/lib/video_ring_buffers.h +++ b/src/lib/video_ring_buffers.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2016-2017 Carl Hetherington + Copyright (C) 2016-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,30 +18,38 @@ */ + #include "dcpomatic_time.h" #include "player_video.h" #include "types.h" -#include #include -#include #include + +class Film; class PlayerVideo; -class VideoRingBuffers : public boost::noncopyable + +class VideoRingBuffers { public: - void put (boost::shared_ptr frame, DCPTime time); - std::pair, DCPTime> get (); + VideoRingBuffers () {} + + VideoRingBuffers (VideoRingBuffers const&) = delete; + VideoRingBuffers& operator= (VideoRingBuffers const&) = delete; + + void put (std::shared_ptr frame, dcpomatic::DCPTime time); + std::pair, dcpomatic::DCPTime> get (); void clear (); Frame size () const; bool empty () const; - boost::optional earliest () const; + + void reset_metadata (std::shared_ptr film, dcp::Size player_video_container_size); std::pair memory_used () const; private: mutable boost::mutex _mutex; - std::list, DCPTime> > _data; + std::list, dcpomatic::DCPTime>> _data; };