Fix assumption of 48kHz DCP audio in AudioRingBuffers consistency check (#1436).
[dcpomatic.git] / src / lib / audio_ring_buffers.h
index 906160aa72f7fb7e1d5553293c72c52a72e00f3b..ce0efd3e2c585569ccdc7f127618a69700083dde 100644 (file)
@@ -33,21 +33,15 @@ class AudioRingBuffers : public boost::noncopyable
 public:
        AudioRingBuffers ();
 
-       void put (boost::shared_ptr<const AudioBuffers> data, DCPTime time);
-       void get (float* out, int channels, int frames);
+       void put (boost::shared_ptr<const AudioBuffers> data, DCPTime time, int frame_rate);
+       boost::optional<DCPTime> get (float* out, int channels, int frames);
 
        void clear ();
        Frame size () const;
 
-       DCPTime latest () const {
-               boost::mutex::scoped_lock lm (_mutex);
-               return _latest;
-       }
-
 private:
        mutable boost::mutex _mutex;
-       std::list<boost::shared_ptr<const AudioBuffers> > _buffers;
-       DCPTime _latest;
+       std::list<std::pair<boost::shared_ptr<const AudioBuffers>, DCPTime> > _buffers;
        int _used_in_head;
 };