Extract common code out into kdm_for_screen()
[dcpomatic.git] / src / lib / audio_merger.h
index ffca29c57cdf471908115a42b6fc01fee3c8ffe8..d5a6ec43ad80ecd233049a971b813f8295785e33 100644 (file)
 class AudioMerger
 {
 public:
-       AudioMerger (int frame_rate);
+       explicit AudioMerger (int frame_rate);
 
-       std::list<std::pair<boost::shared_ptr<AudioBuffers>, DCPTime> > pull (DCPTime time);
-       void push (boost::shared_ptr<const AudioBuffers> audio, DCPTime time);
+       std::list<std::pair<boost::shared_ptr<AudioBuffers>, dcpomatic::DCPTime> > pull (dcpomatic::DCPTime time);
+       void push (boost::shared_ptr<const AudioBuffers> audio, dcpomatic::DCPTime time);
+       void clear ();
 
 private:
-       Frame frames (DCPTime t) const;
+       Frame frames (dcpomatic::DCPTime t) const;
 
        class Buffer
        {
@@ -47,24 +48,24 @@ private:
                 *  @param t Time
                 *  @param r Frame rate.
                 */
-               Buffer (int c, int32_t f, DCPTime t, int r)
+               Buffer (int c, int32_t f, dcpomatic::DCPTime t, int r)
                        : audio (new AudioBuffers (c, f))
                        , time (t)
                        , frame_rate (r)
                {}
 
-               Buffer (boost::shared_ptr<AudioBuffers> a, DCPTime t, int r)
+               Buffer (boost::shared_ptr<AudioBuffers> a, dcpomatic::DCPTime t, int r)
                        : audio (a)
                        , time (t)
                        , frame_rate (r)
                {}
 
                boost::shared_ptr<AudioBuffers> audio;
-               DCPTime time;
+               dcpomatic::DCPTime time;
                int frame_rate;
 
-               DCPTimePeriod period () const {
-                       return DCPTimePeriod (time, time + DCPTime::from_frames (audio->frames(), frame_rate));
+               dcpomatic::DCPTimePeriod period () const {
+                       return dcpomatic::DCPTimePeriod (time, time + dcpomatic::DCPTime::from_frames (audio->frames(), frame_rate));
                }
        };
 
@@ -78,6 +79,5 @@ private:
        };
 
        std::list<Buffer> _buffers;
-       DCPTime _last_pull;
        int _frame_rate;
 };