arduino-audio-tools
|
A FreeRTOS task is filling the buffer from the indicated stream. Only to be used on the ESP32. More...
#include <URLStreamBuffered.h>
Public Member Functions | |
BufferedTaskStream (AudioStream &input) | |
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
Adds target to be notified about audio changes. | |
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 | |
virtual int | available () override |
Returns the available bytes in the buffer: to be avoided. | |
virtual int | availableForWrite () override |
virtual bool | begin () |
virtual void | begin (bool wait=true) |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
virtual void | end () |
virtual void | flush () override |
empties the buffer | |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
virtual | operator bool () |
virtual int | peek () override |
peeks a byte - to be avoided | |
virtual int | read () override |
reads a byte - to be avoided | |
virtual 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. | |
void | setBufferSize (int bufferSize, int bufferCount) |
Define an explicit the buffer size in bytes. | |
virtual void | setInput (AudioStream &input) |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
virtual size_t | write (const uint8_t *data, size_t len) override |
Use this method: write an array. | |
virtual size_t | write (uint8_t c) override |
writes a byte to the buffer | |
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 | processTask () |
void | refillReadBuffer () |
Protected Attributes | |
int | _timeout = 10 |
bool | active = false |
SynchronizedNBuffer | buffers |
AudioInfo | info |
bool | is_notify_active = true |
Vector< AudioInfoSupport * > | notify_vector |
AudioStream * | p_stream = nullptr |
bool | ready = false |
Task | task |
RingBuffer< uint8_t > | tmp_in {0} |
RingBuffer< uint8_t > | tmp_out {0} |
A FreeRTOS task is filling the buffer from the indicated stream. Only to be used on the ESP32.
|
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 >.
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.
Returns the available bytes in the buffer: to be avoided.
Reimplemented from BaseStream.
Reimplemented from Print.
Reimplemented in UDPStream, A2DPStream, I2SCodecStream, AbstractURLStream, I2SStream, MeasuringStream, ProgressStream, and VolumeStream.
Reimplemented in AudioOutputWithCallback, SPDIFOutput, VS1053Stream, WM8960Stream, ESPNowStream, TimerCallbackAudioStream, QueueStream< T >, QueueStream< uint8_t >, DynamicMemoryStream, AnalogAudioArduino, AnalogAudioStream, MemoryStream, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, FormatConverterStream, and Pipeline.
Reimplemented from BaseStream.
empties the buffer
Reimplemented from BaseStream.
Reimplemented in A2DPStream, Pipeline, I2SStream, and MemoryStream.
Use this method !!
Reimplemented from AudioStream.
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.
Use this method: write an array.
Reimplemented from AudioStream.
writes a byte to the buffer
Reimplemented from BaseStream.
|
protected |
|
protected |