28#ifndef ASYNC_AUDIO_SPLITTER_INCLUDED
29#define ASYNC_AUDIO_SPLITTER_INCLUDED
39#include <sigc++/sigc++.h>
118 public sigc::trackable
186 std::list<Branch *> branches;
192 int flushed_branches;
195 void writeFromBuffer(
void);
196 void flushAllBranches(
void);
199 void branchResumeOutput(
void);
200 void branchAllSamplesFlushed(
void);
201 void cleanupBranches(
void);
This file contains the base class for an audio sink.
This file contains the base class for an audio source.
Contains a single shot or periodic timer that emits a signal on timeout.
The base class for an audio sink.
The base class for an audio source.
AudioSink * sink(void) const
Get the registered audio sink.
A class that splits an audio stream into multiple streams.
void flushSamples(void) override
Tell the sink to flush the previously written samples.
~AudioSplitter(void)
Destructor.
void removeSink(AudioSink *sink)
Remove an audio sink from the splitter.
void removeAllSinks(void)
Remove all audio sinks from this splitter.
void enableSink(AudioSink *sink, bool enable)
Enable or disable audio output to the given audio sink.
int writeSamples(const float *samples, int len) override
Write samples into this audio sink.
AudioSplitter(void)
Default constuctor.
void addSink(AudioSink *sink, bool managed=false)
Add an audio sink to the splitter.
Namespace for the asynchronous programming classes.