X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Faudio_ring_buffers.cc;h=cd7f4f597fbfaf8f35ebcd5e998f3e20edccb72d;hb=351942d335db261ac6fe54f2f8a3f439fef22d47;hp=21c4b6a5c1084123c71d82706653615e96aab709;hpb=70684e31a96bd7d4c7b09d525902959345b76526;p=dcpomatic.git diff --git a/src/lib/audio_ring_buffers.cc b/src/lib/audio_ring_buffers.cc index 21c4b6a5c..cd7f4f597 100644 --- a/src/lib/audio_ring_buffers.cc +++ b/src/lib/audio_ring_buffers.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2016-2018 Carl Hetherington + Copyright (C) 2016-2019 Carl Hetherington This file is part of DCP-o-matic. @@ -31,6 +31,7 @@ using std::pair; using std::list; using boost::shared_ptr; using boost::optional; +using namespace dcpomatic; AudioRingBuffers::AudioRingBuffers () : _used_in_head (0) @@ -103,6 +104,16 @@ AudioRingBuffers::get (float* out, int channels, int frames) return time; } +optional +AudioRingBuffers::peek () const +{ + boost::mutex::scoped_lock lm (_mutex); + if (_buffers.empty()) { + return optional(); + } + return _buffers.front().second; +} + void AudioRingBuffers::clear () {