arduino-audio-tools
|
ESP8266Audio AudioOutput class which stores the data in a temporary buffer. The buffer can be consumed e.g. by a callback function by calling read(); Dependencies: ESP8266Audio Library Dependencies: ESP32-A2DP Library. More...
#include <AudioESP8266.h>
Public Member Functions | |
AudioOutputWithCallback (int bufferSize, int bufferCount) | |
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
Adds target to be notified about audio changes. | |
virtual AudioInfo | audioInfo () override |
provides the actual input AudioInfo | |
virtual AudioInfo | audioInfo () override |
provides the actual input AudioInfo | |
virtual AudioInfo | audioInfoOut () |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream | |
int | available () override |
Returns the available bytes in the buffer: to be avoided. | |
virtual int | availableForWrite () override |
virtual int | availableForWrite () override |
virtual bool | begin () |
Activates the output. | |
virtual bool | begin (AudioInfo info) |
void | clear () |
Clears all the data in the buffer. | |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
virtual bool | ConsumeSample (int16_t sample[2]) |
puts the sample into a buffer | |
virtual void | end () |
virtual void | end () |
virtual void | flush () |
void | flush () override |
empties the buffer | |
virtual bool | isDeletable () |
If true we need to release the related memory in the destructor. | |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
virtual | operator bool () |
virtual | operator bool () |
int | peek () override |
peeks a byte - to be avoided | |
int | read () override |
reads a byte - to be avoided | |
size_t | read (Frame *src, size_t len) |
Provides the data from the internal buffer to the callback. | |
size_t | readBytes (uint8_t *data, size_t len) override |
Use this method !! | |
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. | |
virtual void | setAudioInfo (AudioInfo newInfo) override |
Defines the input AudioInfo. | |
virtual void | setAudioInfo (AudioInfo newInfo) override |
Defines the input AudioInfo. | |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
void | setOutput (Print &out) |
Defines/Changes the output target. | |
void | setStream (Print &out) |
void | setStream (Stream &io) |
Defines/Changes the input & output. | |
virtual bool | stop () |
stops the processing | |
size_t | write (const uint8_t *data, size_t len) override |
Use this method: write an array. | |
virtual size_t | write (const uint8_t *data, size_t len) override=0 |
size_t | write (uint8_t c) override |
writes a byte to the buffer | |
virtual size_t | write (uint8_t ch) override |
virtual void | writeSilence (size_t len) |
virtual void | writeSilence (size_t len) |
Writes len bytes of silence (=0). | |
Protected Member Functions | |
virtual int | not_supported (int out, const char *msg="") |
void | notifyAudioChange (AudioInfo info) |
void | notifyAudioChange (AudioInfo info) |
virtual size_t | readExt (uint8_t *data, size_t len) |
void | refill () |
void | refillReadBuffer () |
virtual size_t | writeExt (const uint8_t *data, size_t len) |
Protected Attributes | |
int | _timeout = 10 |
int | _timeout = 10 |
bool | active |
SingleBuffer< uint8_t > | buffer |
NBuffer< Frame > * | callback_buffer_ptr |
AudioInfo | cfg |
AudioInfo | info |
bool | is_active = false |
bool | is_notify_active = true |
bool | is_notify_active = true |
Vector< AudioInfoSupport * > | notify_vector |
Vector< AudioInfoSupport * > | notify_vector |
Stream * | p_in = nullptr |
Print * | p_out = nullptr |
SingleBuffer< uint8_t > | tmp {MAX_SINGLE_CHARS} |
RingBuffer< uint8_t > | tmp_in {0} |
RingBuffer< uint8_t > | tmp_out {0} |
int | tmpPos = 0 |
ESP8266Audio AudioOutput class which stores the data in a temporary buffer. The buffer can be consumed e.g. by a callback function by calling read(); Dependencies: ESP8266Audio Library Dependencies: ESP32-A2DP Library.
|
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 AdapterPrintToAudioOutput, and AdapterAudioStreamToAudioOutput.
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in JupyterAudioT< T >, MozziStream, TimerCallbackAudioStream, PureDataStream, AdapterAudioOutputToAudioStream, GeneratedSoundStream< T >, and GeneratedSoundStream< int16_t >.
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in PureDataStream, PWMAudioOutput, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, FormatConverterStream, Pipeline, and ResampleStream.
|
inlineoverridevirtualinherited |
Returns the available bytes in the buffer: to be avoided.
Reimplemented from BaseStream.
Reimplemented from Print.
Reimplemented in RTSPOutput, and AudioFFTBase.
Reimplemented from Print.
Reimplemented in UDPStream, A2DPStream, I2SCodecStream, AbstractURLStream, I2SStream, MeasuringStream, ProgressStream, and VolumeStream.
Activates the output.
Reimplemented from AudioOutput.
Reimplemented in AudioESP32ULP, CsvOutput< T >, and EncodedAudioOutput.
Reimplemented in OversamplingDAC, EncodedAudioOutput, OggContainerOutput, and AudioFFTBase.
Reimplemented in FaustStream< DSP >, I2SCodecStream, VS1053Stream, WM8960Stream, ESPNowStream, I2SStream, TimerCallbackAudioStream, QueueStream< T >, QueueStream< uint8_t >, AudioKitStream, AnalogAudioStream, HttpRequest, ICYStream, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, InputMixer< T >, InputMerge< T >, and Pipeline.
|
inlineoverridevirtualinherited |
empties the buffer
Reimplemented from BaseStream.
If true we need to release the related memory in the destructor.
Reimplemented in AdapterPrintToAudioOutput, and AdapterAudioStreamToAudioOutput.
Reimplemented in EncodedAudioOutput, and RTSPOutput.
Reimplemented in A2DPStream, Pipeline, I2SStream, and MemoryStream.
Use this method !!
Reimplemented from AudioStream.
Reimplemented from BufferedStream.
Defines the input AudioInfo.
Implements AudioInfoSupport.
Reimplemented in ChannelsSelectOutput, AdapterPrintToAudioOutput, MultiOutput, AudioFFTBase, AdapterAudioStreamToAudioOutput, CsvOutput< T >, PWMAudioOutput, and EncodedAudioOutput.
Defines the input AudioInfo.
Implements AudioInfoSupport.
Reimplemented in VS1053Stream, WM8960Stream, I2SBitBang, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, VolumeStream, MiniAudioStream, PortAudioStream, I2SCodecStream, MozziStream, SPDIFOutput, AudioLoRa, AnalogAudioStream, I2SStream, MeasuringStream, VolumeMeter, TimerCallbackAudioStream, AudioBLEStream, LoRaStream, AudioKitStream, VBANStream, AnalogAudioArduino, Equilizer3Bands, AdapterAudioOutputToAudioStream, TimedStream, ProgressStream, FormatConverterStream, FadeStream, Pipeline::ModifyingStreamAdapter, PureDataStream, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, Pipeline, and ResampleStream.
Defines/Changes the output target.
Implements ModifyingStream.
Defines/Changes the input & output.
Implements ModifyingStream.
Use this method: write an array.
Reimplemented from AudioStream.
Reimplemented from Print.
Implemented in MetaDataOutput, OversamplingDAC, EncodedAudioOutput, OggContainerOutput, AudioFFTBase, AudioServerEx, RTSPOutput, MetaDataFilter, CsvOutput< T >, and SerialDAC.
writes a byte to the buffer
Reimplemented from BaseStream.
Reimplemented in OversamplingDAC.
Reimplemented from BufferedStream.
Writes n 0 values (= silence)
len |