Use plain git hash for VERSION when there is no exact tag.
[dcpomatic.git] / src / lib / video_ring_buffers.h
index c7f789cb5d5efb96f68b982491b54296f884b427..1514e9bbd2e23e58a7c9b4989abca99e0706a6c6 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2016-2020 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2016-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
 */
 
+
+#ifndef DCPOMATIC_VIDEO_RING_BUFFERS_H
+#define DCPOMATIC_VIDEO_RING_BUFFERS_H
+
+
 #include "dcpomatic_time.h"
 #include "player_video.h"
-#include "types.h"
-#include <boost/noncopyable.hpp>
 #include <boost/thread/mutex.hpp>
-#include <boost/shared_ptr.hpp>
 #include <utility>
 
 
@@ -31,21 +33,29 @@ class Film;
 class PlayerVideo;
 
 
-class VideoRingBuffers : public boost::noncopyable
+class VideoRingBuffers
 {
 public:
-       void put (boost::shared_ptr<PlayerVideo> frame, dcpomatic::DCPTime time);
-       std::pair<boost::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> get ();
+       VideoRingBuffers () {}
+
+       VideoRingBuffers (VideoRingBuffers const&) = delete;
+       VideoRingBuffers& operator= (VideoRingBuffers const&) = delete;
+
+       void put (std::shared_ptr<PlayerVideo> frame, dcpomatic::DCPTime time);
+       std::pair<std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> get ();
 
        void clear ();
        Frame size () const;
        bool empty () const;
 
-       void reset_metadata (boost::shared_ptr<const Film> film, dcp::Size player_video_container_size);
+       void reset_metadata (std::shared_ptr<const Film> film, dcp::Size player_video_container_size);
 
        std::pair<size_t, std::string> memory_used () const;
 
 private:
        mutable boost::mutex _mutex;
-       std::list<std::pair<boost::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> > _data;
+       std::list<std::pair<std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime>> _data;
 };
+
+
+#endif