X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fvideo_ring_buffers.cc;h=0167f4aec4309c62ba47d1966ee04cba278ced5a;hb=b21103a67ef8e0e53b338b16da87ca445ba166d1;hp=a8688a1cd7f6d246562f63e90780cdda72600563;hpb=4073923b2c5ccf127c61435cd575542351421f05;p=dcpomatic.git diff --git a/src/lib/video_ring_buffers.cc b/src/lib/video_ring_buffers.cc index a8688a1cd..0167f4aec 100644 --- a/src/lib/video_ring_buffers.cc +++ b/src/lib/video_ring_buffers.cc @@ -20,6 +20,7 @@ #include "video_ring_buffers.h" #include "player_video.h" +#include "compose.hpp" #include #include #include @@ -28,6 +29,7 @@ using std::list; using std::make_pair; using std::cout; using std::pair; +using std::string; using boost::shared_ptr; using boost::optional; @@ -71,13 +73,12 @@ VideoRingBuffers::clear () _data.clear (); } -optional -VideoRingBuffers::earliest () const +pair +VideoRingBuffers::memory_used () const { - boost::mutex::scoped_lock lm (_mutex); - if (_data.empty ()) { - return optional (); + size_t m = 0; + for (list, DCPTime> >::const_iterator i = _data.begin(); i != _data.end(); ++i) { + m += i->first->memory_used(); } - - return _data.front().second; + return make_pair(m, String::compose("%1 frames", _data.size())); }