28#ifndef ASYNC_AUDIO_SPLITTER_INCLUDED
29#define ASYNC_AUDIO_SPLITTER_INCLUDED
39#include <sigc++/sigc++.h>
118 public sigc::trackable
187 std::list<Branch *> branches;
193 int flushed_branches;
196 void writeFromBuffer(
void);
197 void flushAllBranches(
void);
200 void branchResumeOutput(
void);
201 void branchAllSamplesFlushed(
void);
202 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.
int writeSamples(const float *samples, int len)
Write samples into this audio sink.
~AudioSplitter(void)
Destructor.
void removeSink(AudioSink *sink)
Remove an audio sink from the splitter.
void flushSamples(void)
Tell the sink to flush the previously written samples.
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.
AudioSplitter(void)
Default constuctor.
void addSink(AudioSink *sink, bool managed=false)
Add an audio sink to the splitter.
Namespace for the asynchronous programming classes.