AudioRingBuffers ();
void put (boost::shared_ptr<const AudioBuffers> data, DCPTime time);
- void get (float* out, int channels, int frames);
+ boost::optional<DCPTime> get (float* out, int channels, int frames);
void clear ();
- Frame size ();
-
- DCPTime latest () const {
- boost::mutex::scoped_lock lm (_mutex);
- return _latest;
- }
+ Frame size () const;
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;
};