Some const correctness.
[dcpomatic.git] / src / lib / audio_source.h
index 5a1510d3ce5fd242980d88ead686d249a5efed42..c13f1636b521661055ed18eb3c5daf89aaa44948 100644 (file)
 
 class AudioBuffers;
 class AudioSink;
+class TimedAudioSink;
 
 /** A class that emits audio data */
 class AudioSource
 {
 public:
        /** Emitted when some audio data is ready */
-       boost::signals2::signal<void (boost::shared_ptr<AudioBuffers>)> Audio;
+       boost::signals2::signal<void (boost::shared_ptr<const AudioBuffers>)> Audio;
 
        void connect_audio (boost::shared_ptr<AudioSink>);
 };
 
+
+/** A class that emits audio data with timestamps */
+class TimedAudioSource
+{
+public:
+       /** Emitted when some audio data is ready */
+       boost::signals2::signal<void (boost::shared_ptr<const AudioBuffers>, double)> Audio;
+
+       void connect_audio (boost::shared_ptr<AudioSink>);
+       void connect_audio (boost::shared_ptr<TimedAudioSink>);
+};
+
 #endif