arduino-audio-tools
|
Converter for reducing or increasing the number of Channels. More...
#include <AudioStreamsConverter.h>
Public Member Functions | |
ChannelFormatConverterStreamT (ChannelFormatConverterStreamT const &)=delete | |
ChannelFormatConverterStreamT (Print &print) | |
ChannelFormatConverterStreamT (Stream &stream) | |
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
Adds target to be notified about audio changes. | |
virtual AudioInfo | audioInfo () override |
provides the actual input AudioInfo | |
AudioInfo | audioInfoOut () override |
Returns the AudioInfo with the to_channels. | |
virtual int | available () override |
virtual int | availableForWrite () override |
bool | begin () |
bool | begin (int fromChannels, int toChannels) |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
void | end () override |
virtual void | flush () override |
float | getByteFactor () |
virtual Print * | getPrint () |
virtual Stream * | getStream () |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
virtual | operator bool () |
ChannelFormatConverterStreamT & | operator= (ChannelFormatConverterStreamT const &)=delete |
size_t | readBytes (uint8_t *data, size_t len) override |
virtual size_t | readSilence (uint8_t *buffer, size_t length) |
Source to generate silence: just sets the buffer to 0. | |
virtual bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
Removes a target in order not to be notified about audio changes. | |
void | setAudioInfo (AudioInfo cfg) override |
Defines the input AudioInfo. | |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
virtual void | setOutput (AudioOutput &print) |
virtual void | setOutput (Print &print) override |
Defines/Changes the output target. | |
virtual void | setStream (AudioStream &stream) |
virtual void | setStream (Stream &stream) override |
Defines/Changes the input & output. | |
void | setToChannels (uint16_t channels) |
virtual TransformationReader< ReformatBaseStream > & | transformationReader () |
Provides access to the TransformationReader. | |
virtual size_t | write (const uint8_t *data, size_t len) override |
virtual size_t | write (uint8_t ch) override |
virtual void | writeSilence (size_t len) |
Writes len bytes of silence (=0). | |
Protected Member Functions | |
size_t | convert (const uint8_t *in_data, size_t size) |
virtual int | not_supported (int out, const char *msg="") |
void | notifyAudioChange (AudioInfo info) |
void | refillReadBuffer () |
void | setupReader () |
Protected Attributes | |
int | _timeout = 10 |
Vector< T > | buffer {0} |
Vector< uint8_t > | bufferTmp {0} |
ChannelConverter< T > | converter |
float | factor = 1 |
int | from_channels = 2 |
AudioInfo | info |
bool | is_notify_active = true |
Vector< AudioInfoSupport * > | notify_vector |
Print * | p_print = nullptr |
Stream * | p_stream = nullptr |
TransformationReader< ReformatBaseStream > | reader |
RingBuffer< uint8_t > | tmp_in {0} |
RingBuffer< uint8_t > | tmp_out {0} |
int | to_channels = 2 |
Converter for reducing or increasing the number of Channels.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, MP3DecoderMAD, EncodedAudioOutput, EncodedAudioStream, AACDecoderFDK, DecoderBasic, MP3DecoderHelix, OggContainerDecoder, Pipeline, and Pipeline::ModifyingStreamAdapter.
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in JupyterAudioT< T >, MozziStream, TimerCallbackAudioStream, PureDataStream, AdapterAudioOutputToAudioStream, GeneratedSoundStream< T >, and GeneratedSoundStream< int16_t >.
Returns the AudioInfo with the to_channels.
Reimplemented from AudioInfoSupport.
Reimplemented from BaseStream.
Reimplemented from BaseStream.
Reimplemented from BaseStream.
|
inlineoverridevirtualinherited |
Reimplemented from BaseStream.
Reimplemented from Print.
Reimplemented in ResampleStream, BufferedTaskStream, and BufferedStream.
Implements ReformatBaseStream.
Reimplemented in A2DPStream, Pipeline, I2SStream, and MemoryStream.
Reimplemented from AudioStream.
Defines the input AudioInfo.
Reimplemented from AudioStream.
Defines/Changes the output target.
Implements ModifyingStream.
Reimplemented in EncodedAudioStream, and FormatConverterStream.
Defines/Changes the input & output.
Implements ModifyingStream.
Reimplemented in FormatConverterStream, and EncodedAudioStream.
Reimplemented from AudioStream.
Reimplemented in BufferedTaskStream, and BufferedStream.