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