Async 1.5.0
|
A class that splits an audio stream into multiple streams. More...
#include <AsyncAudioSplitter.h>
Public Member Functions | |
AudioSplitter (void) | |
Default constuctor. | |
~AudioSplitter (void) | |
Destructor. | |
void | addSink (AudioSink *sink, bool managed=false) |
Add an audio sink to the splitter. | |
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) |
Write samples into this audio sink. | |
void | flushSamples (void) |
Tell the sink to flush the previously written samples. | |
![]() | |
AudioSink (void) | |
Default constuctor. | |
virtual | ~AudioSink (void) |
Destructor. | |
bool | registerSource (AudioSource *source) |
Register an audio source to provide samples to this sink. | |
void | unregisterSource (void) |
Unregister the previously registered audio source. | |
bool | isRegistered (void) const |
Check if an audio source has been registered. | |
AudioSource * | source (void) const |
Get the registered audio source. | |
virtual int | writeSamples (const float *samples, int count) |
Write samples into this audio sink. | |
virtual void | flushSamples (void) |
Tell the sink to flush the previously written samples. | |
![]() | |
AudioSource (void) | |
Default constuctor. | |
virtual | ~AudioSource (void) |
Destructor. | |
bool | registerSink (AudioSink *sink, bool managed=false) |
Register an audio sink to provide samples to. | |
void | unregisterSink (void) |
Unregister the previously registered audio sink. | |
bool | isRegistered (void) const |
Check if an audio sink has been registered. | |
AudioSink * | sink (void) const |
Get the registered audio sink. | |
bool | sinkManaged (void) const |
Check if the sink is managed or not. | |
void | handleAllSamplesFlushed (void) |
The registered sink has flushed all samples. | |
virtual void | resumeOutput (void) |
Resume audio output to the sink. | |
Friends | |
class | Branch |
Additional Inherited Members | |
![]() | |
void | sourceResumeOutput (void) |
Tell the source that we are ready to accept more samples. | |
void | sourceAllSamplesFlushed (void) |
Tell the source that all samples have been flushed. | |
bool | setHandler (AudioSink *handler) |
Setup another sink to handle the incoming audio. | |
void | clearHandler (void) |
Clear a handler that was previously setup with setHandler. | |
AudioSink * | handler (void) const |
![]() | |
virtual void | allSamplesFlushed (void) |
The registered sink has flushed all samples. | |
int | sinkWriteSamples (const float *samples, int len) |
void | sinkFlushSamples (void) |
bool | setHandler (AudioSource *handler) |
Setup another source to handle the outgoing audio. | |
AudioSource * | handler (void) const |
void | clearHandler (void) |
Clear a handler that was previously setup with setHandler. | |
A class that splits an audio stream into multiple streams.
This class is part of the audio pipe framework. It is used to split one incoming audio source into multiple outgoing sources.
Definition at line 117 of file AsyncAudioSplitter.h.
Async::AudioSplitter::AudioSplitter | ( | void | ) |
Default constuctor.
Async::AudioSplitter::~AudioSplitter | ( | void | ) |
Destructor.
void Async::AudioSplitter::addSink | ( | AudioSink * | sink, |
bool | managed = false |
||
) |
Add an audio sink to the splitter.
sink | The sink object to add |
managed | If managed is true the attached sink will be deleted when the splitter is deleted |
void Async::AudioSplitter::enableSink | ( | AudioSink * | sink, |
bool | enable | ||
) |
Enable or disable audio output to the given audio sink.
sink | The audio sink to enable/disable |
enable | Set to true to enable the sink or false to disable it |
|
virtual |
Tell the sink to flush the previously written samples.
This function is used to tell the sink to flush previously written samples. When done flushing, the sink should call the sourceAllSamplesFlushed function. This function is normally only called from a connected source object.
Reimplemented from Async::AudioSink.
void Async::AudioSplitter::removeAllSinks | ( | void | ) |
Remove all audio sinks from this splitter.
void Async::AudioSplitter::removeSink | ( | AudioSink * | sink | ) |
Remove an audio sink from the splitter.
sink | The sink object to remove |
|
virtual |
Write samples into this audio sink.
samples | The buffer containing the samples |
len | The number of samples in the buffer |
This function is used to write audio into this audio sink. If it returns 0, no more samples should be written until the resumeOutput function in the source have been called. This function is normally only called from a connected source object.
Reimplemented from Async::AudioSink.
|
friend |
Definition at line 199 of file AsyncAudioSplitter.h.