summaryrefslogtreecommitdiff
path: root/src/lib/audio_processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/audio_processor.h')
-rw-r--r--src/lib/audio_processor.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/audio_processor.h b/src/lib/audio_processor.h
index 2c3df3add..f469f07c0 100644
--- a/src/lib/audio_processor.h
+++ b/src/lib/audio_processor.h
@@ -29,6 +29,7 @@
#include "named_channel.h"
+#include <dcp/types.h>
#include <memory>
#include <string>
#include <vector>
@@ -58,7 +59,7 @@ public:
/** @return A clone of this AudioProcessor for operation at the specified sampling rate */
virtual std::shared_ptr<AudioProcessor> clone(int sampling_rate) const = 0;
/** Process some data, returning the processed result truncated or padded to `channels' */
- virtual std::shared_ptr<AudioBuffers> run(std::shared_ptr<const AudioBuffers>, int channels) = 0;
+ std::shared_ptr<AudioBuffers> run(std::shared_ptr<const AudioBuffers>, int channels);
virtual void flush() {}
/** Make the supplied audio mapping into a sensible default for this processor */
virtual void make_audio_mapping_default(AudioMapping& mapping) const = 0;
@@ -69,6 +70,10 @@ public:
static std::vector<AudioProcessor const *> visible();
static void setup_audio_processors();
static AudioProcessor const * from_id(std::string);
+ static std::vector<dcp::Channel> pass_through();
+
+protected:
+ virtual std::shared_ptr<AudioBuffers> do_run(std::shared_ptr<const AudioBuffers>, int channels) = 0;
private:
static std::vector<std::unique_ptr<const AudioProcessor>> _experimental;