|
arduino-audio-tools
|
CallbackStream: A Stream that allows to register callback methods for accessing and providing and updating data. The callbacks can be lambda expressions. The update callback can also be used just to read the data without changing it. Warning: this class does not propagate audio info changes to the target stream. You need to do this manually. More...
#include <CodecOpusOgg.h>
Public Member Functions | |
| CallbackStream ()=default | |
| CallbackStream ()=default | |
| CallbackStream (Print &out, size_t(*cb_update)(uint8_t *data, size_t len)) | |
| Allows to change the audio before sending it to the output. | |
| CallbackStream (Print &out, size_t(*cb_update)(uint8_t *data, size_t len)) | |
| Allows to change the audio before sending it to the output. | |
| CallbackStream (size_t(*cb_read)(uint8_t *data, size_t len), size_t(*cb_write)(const uint8_t *data, size_t len)) | |
| CallbackStream (size_t(*cb_read)(uint8_t *data, size_t len), size_t(*cb_write)(const uint8_t *data, size_t len)) | |
| CallbackStream (Stream &io, size_t(*cb_update)(uint8_t *data, size_t len)) | |
| CallbackStream (Stream &io, size_t(*cb_update)(uint8_t *data, size_t len)) | |
| virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
| Adds target to be notified about audio changes. | |
| 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 () |
| virtual AudioInfo | audioInfoOut () |
| int | available () override |
| int | available () override |
| virtual int | availableForWrite () override |
| virtual int | availableForWrite () override |
| virtual bool | begin () override |
| virtual bool | begin () override |
| virtual bool | begin (AudioInfo info) |
| virtual bool | begin (AudioInfo info) |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| void | end () override |
| void | end () override |
| virtual void | flush () override |
| virtual void | flush () override |
| 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 () |
| size_t | readBytes (uint8_t *data, size_t len) override |
| 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 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 bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
| Removes a target in order not to be notified about audio changes. | |
| void | setAudioInfo (AudioInfo info) override |
| Updates the audio info and calls the callback. | |
| void | setAudioInfo (AudioInfo info) override |
| Updates the audio info and calls the callback. | |
| void | setAudioInfoCallback (void(*cb)(AudioInfo info)) |
| defines the callback to receive the actual audio info | |
| void | setAudioInfoCallback (void(*cb)(AudioInfo info)) |
| defines the callback to receive the actual audio info | |
| void | setAvailable (int val) |
| optioinally define available bytes for next read | |
| void | setAvailable (int val) |
| optioinally define available bytes for next read | |
| void | setAvailableCallback (int(*cb)()) |
| void | setAvailableCallback (int(*cb)()) |
| 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) override |
| Defines/Changes the output target. | |
| void | setOutput (Print &out) override |
| Defines/Changes the output target. | |
| void | setOutput (Stream &in) |
| same as setStream | |
| void | setOutput (Stream &in) |
| same as setStream | |
| virtual void | setOutput (AudioOutput &out) |
| Defines/Changes the output target and registers for audio change notifications. | |
| void | setReadCallback (size_t(*cb_read)(uint8_t *data, size_t len)) |
| Instead of reading from the input stream we call this method. | |
| void | setReadCallback (size_t(*cb_read)(uint8_t *data, size_t len)) |
| Instead of reading from the input stream we call this method. | |
| void | setStream (Print &out) |
| same as set Output | |
| void | setStream (Print &out) |
| same as set Output | |
| void | setStream (Stream &in) override |
| Defines/Changes the input & output. | |
| void | setStream (Stream &in) override |
| Defines/Changes the input & output. | |
| virtual void | setStream (AudioStream &io) |
| Defines/Changes the input & output and registers for audio change notifications. | |
| void | setUpdateCallback (size_t(*cb_update)(uint8_t *data, size_t len)) |
| After Reading or before writing we call this method to allow to modify the data. | |
| void | setUpdateCallback (size_t(*cb_update)(uint8_t *data, size_t len)) |
| After Reading or before writing we call this method to allow to modify the data. | |
| void | setWriteBufferSize (int size) |
| void | setWriteBufferSize (int size) |
| void | setWriteCallback (size_t(*cb_write)(const uint8_t *data, size_t len)) |
| Instead of writing to the output stream we call this method. | |
| void | setWriteCallback (size_t(*cb_write)(const uint8_t *data, size_t len)) |
| Instead of writing to the output stream we call this method. | |
| virtual size_t | write (uint8_t ch) override |
| size_t | write (const uint8_t *data, size_t len) override |
| size_t | write (const uint8_t *data, size_t len) override |
| virtual void | writeSilence (size_t len) |
| Writes len bytes of silence (=0). | |
| virtual void | writeSilence (size_t len) |
| Writes len bytes of silence (=0). | |
Protected Member Functions | |
| virtual int | not_supported (int out, const char *msg="") |
| virtual int | not_supported (int out, const char *msg="") |
| void | notifyAudioChange (AudioInfo info) |
| void | notifyAudioChange (AudioInfo info) |
| void | refillReadBuffer () |
| Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read(). | |
| void | refillReadBuffer () |
| Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read(). | |
Protected Attributes | |
| int | _timeout = 10 |
| bool | active = true |
| int | available_bytes = -1 |
| void(* | cb_audio_info )(AudioInfo info) = nullptr |
| int(* | cb_available )() = nullptr |
| size_t(* | cb_read )(uint8_t *data, size_t len) = nullptr |
| size_t(* | cb_update )(uint8_t *data, size_t len) = nullptr |
| size_t(* | cb_write )(const uint8_t *data, size_t len) = nullptr |
| AudioInfo | info |
| bool | is_notify_active = true |
| Vector< AudioInfoSupport * > | notify_vector |
| Print * | p_out = nullptr |
| Stream * | p_stream = nullptr |
| RingBuffer< uint8_t > | tmp_in {0} |
| RingBuffer< uint8_t > | tmp_out {0} |
| int | write_buffer_size = 8 |
CallbackStream: A Stream that allows to register callback methods for accessing and providing and updating data. The callbacks can be lambda expressions. The update callback can also be used just to read the data without changing it. Warning: this class does not propagate audio info changes to the target stream. You need to do this manually.
|
default |
|
inline |
Allows to change the audio before sending it to the output or before getting it from the original input
|
inline |
Allows to change the audio before sending it to the output.
|
inline |
|
default |
|
inline |
Allows to change the audio before sending it to the output or before getting it from the original input
|
inline |
Allows to change the audio before sending it to the output.
|
inline |
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, CodecNOP, EncodedAudioOutput, and EncodedAudioStream.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, CodecNOP, EncodedAudioOutput, and EncodedAudioStream.
|
inlineoverridevirtualinherited |
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in AdapterAudioOutputToAudioStream, AdapterAudioOutputToAudioStream, EncodedAudioStream, GeneratedSoundStream< T >, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, InputMerge< T >, InputMerge< T >, TimerCallbackAudioStream, TimerCallbackAudioStream, EncodedAudioStream, GeneratedSoundStream< T >, InputMerge< T >, JupyterAudioT< T >, JupyterAudioT< int16_t >, MozziStream, PureDataStream, and TimerCallbackAudioStream.
|
inlineoverridevirtualinherited |
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in AdapterAudioOutputToAudioStream, AdapterAudioOutputToAudioStream, EncodedAudioStream, GeneratedSoundStream< T >, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, InputMerge< T >, InputMerge< T >, TimerCallbackAudioStream, TimerCallbackAudioStream, EncodedAudioStream, GeneratedSoundStream< T >, InputMerge< T >, JupyterAudioT< T >, JupyterAudioT< int16_t >, MozziStream, PureDataStream, and TimerCallbackAudioStream.
|
inlinevirtualinherited |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in ChannelFormatConverterStream, ChannelFormatConverterStreamT< T >, FormatConverterStream, MP3EncoderShine, NumberFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, Pipeline, PureDataStream, PWMAudioOutput< PWMDriverT >, ResampleStream, ResampleStreamT< TInterpolator >, and SupportedRatesStream.
|
inlinevirtualinherited |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in ChannelFormatConverterStream, ChannelFormatConverterStreamT< T >, FormatConverterStream, MP3EncoderShine, NumberFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, Pipeline, PureDataStream, PWMAudioOutput< PWMDriverT >, ResampleStream, ResampleStreamT< TInterpolator >, and SupportedRatesStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtualinherited |
Reimplemented from Print.
Reimplemented in A2DPStream, AbstractURLStream, AnalogAudioStream, AudioStreamWrapper, AudioStreamWrapper, ConverterStream< T >, ConverterStream< T >, DynamicMemoryStream, DynamicMemoryStream, EncodedAudioStream, FilteredStream< T, TF >, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, MemoryStream, MemoryStream, ProgressStream, ProgressStream, QueueStream< T >, QueueStream< T >, QueueStream< uint8_t >, ReformatBaseStream, RingBufferStream, RingBufferStream, Throttle, Throttle, TimedStream, AudioBLEClient, AudioBLEClient, AudioBLEServer, AudioBLEServer, AudioEffectStream, AudioEffectStreamT< T >, AudioFFTBase, AudioLoRa, AudioStreamWrapper, AutomaticGainControlStream, ChannelFormatConverterStream, ChannelFormatConverterStreamT< T >, ConverterStream< T >, DynamicMemoryStream, EncodedAudioStream, Equalizer3BandsPerChannelT< T >, Equalizer3BandsPerChannelT< float >, Equalizer3BandsT< T >, Equalizer3BandsT< float >, ESPNowStream, FadeStream, FaustStream< DSP >, FilteredStream< T, TF >, FrequencyDetectorAutoCorrelation, FrequencyDetectorZeroCrossing, HammingFEC< bytecount, block_t >, I2SCodecStream, I2SStream, MeasuringStream, MemoryStream, MiniAudioStream, NRF24Stream, NumberFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, Pipeline, ProgressStream, QualityAnalysisStream, QueueStream< T >, ReedSolomonFEC< bytecount, additional_bytes >, ReformatBaseStream, RingBufferStream, SPIAudioSlave, StdioStream, SupportedRatesStream, Throttle, TimedStream, UDPStream, URLStreamESP32, USBAudioStreamBase, VBANStream, and VolumeStream.
|
inlineoverridevirtualinherited |
Reimplemented from Print.
Reimplemented in A2DPStream, AbstractURLStream, AnalogAudioStream, AudioStreamWrapper, AudioStreamWrapper, ConverterStream< T >, ConverterStream< T >, DynamicMemoryStream, DynamicMemoryStream, EncodedAudioStream, FilteredStream< T, TF >, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, MemoryStream, MemoryStream, ProgressStream, ProgressStream, QueueStream< T >, QueueStream< T >, QueueStream< uint8_t >, ReformatBaseStream, RingBufferStream, RingBufferStream, Throttle, Throttle, TimedStream, AudioBLEClient, AudioBLEClient, AudioBLEServer, AudioBLEServer, AudioEffectStream, AudioEffectStreamT< T >, AudioFFTBase, AudioLoRa, AudioStreamWrapper, AutomaticGainControlStream, ChannelFormatConverterStream, ChannelFormatConverterStreamT< T >, ConverterStream< T >, DynamicMemoryStream, EncodedAudioStream, Equalizer3BandsPerChannelT< T >, Equalizer3BandsPerChannelT< float >, Equalizer3BandsT< T >, Equalizer3BandsT< float >, ESPNowStream, FadeStream, FaustStream< DSP >, FilteredStream< T, TF >, FrequencyDetectorAutoCorrelation, FrequencyDetectorZeroCrossing, HammingFEC< bytecount, block_t >, I2SCodecStream, I2SStream, MeasuringStream, MemoryStream, MiniAudioStream, NRF24Stream, NumberFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, Pipeline, ProgressStream, QualityAnalysisStream, QueueStream< T >, ReedSolomonFEC< bytecount, additional_bytes >, ReformatBaseStream, RingBufferStream, SPIAudioSlave, StdioStream, SupportedRatesStream, Throttle, TimedStream, UDPStream, URLStreamESP32, USBAudioStreamBase, VBANStream, and VolumeStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtualinherited |
Deletes all change notify subscriptions.
Reimplemented in RTSPClient< TcpClient, UdpSocket >, RTSPClient< EthernetClient, EthernetUDP >, and RTSPClient< WiFiClient, WiFiUDP >.
|
inlinevirtualinherited |
Deletes all change notify subscriptions.
Reimplemented in RTSPClient< TcpClient, UdpSocket >, RTSPClient< EthernetClient, EthernetUDP >, and RTSPClient< WiFiClient, WiFiUDP >.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtualinherited |
Reimplemented from Print.
Reimplemented in AudioStreamWrapper, AudioStreamWrapper, BufferedStream, BufferedStream, EncodedAudioStream, FilteredStream< T, TF >, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, GeneratedSoundStream< T >, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, MemoryStream, MemoryStream, QueueStream< T >, QueueStream< T >, QueueStream< uint8_t >, ReformatBaseStream, RingBufferStream, RingBufferStream, TimedStream, AudioEffectStream, AudioEffectStreamT< T >, AudioStreamWrapper, AutomaticGainControlStream, BufferedStream, BufferedTaskStream, EncodedAudioStream, Equalizer3BandsPerChannelT< T >, Equalizer3BandsPerChannelT< float >, Equalizer3BandsT< T >, Equalizer3BandsT< float >, EqualizerNBands< SampleT, AccT, NUM_TAPS, NUM_BANDS >, FadeStream, FilteredStream< T, TF >, GeneratedSoundStream< T >, I2SStream, MeasuringStream, MemoryStream, Pipeline::ModifyingStreamAdapter, PureDataStream, QualityAnalysisStream, QueueStream< T >, ReformatBaseStream, ResampleStream, RingBufferStream, SupportedRatesStream, TimedStream, URLStream, URLStreamBufferedT< T >, URLStreamBufferedT< ICYStream >, URLStreamBufferedT< ICYStreamESP32 >, URLStreamBufferedT< URLStream >, URLStreamBufferedT< URLStreamESP32 >, and VolumeStream.
|
inlineoverridevirtualinherited |
Reimplemented from Print.
Reimplemented in AudioStreamWrapper, AudioStreamWrapper, BufferedStream, BufferedStream, EncodedAudioStream, FilteredStream< T, TF >, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, GeneratedSoundStream< T >, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, MemoryStream, MemoryStream, QueueStream< T >, QueueStream< T >, QueueStream< uint8_t >, ReformatBaseStream, RingBufferStream, RingBufferStream, TimedStream, AudioEffectStream, AudioEffectStreamT< T >, AudioStreamWrapper, AutomaticGainControlStream, BufferedStream, BufferedTaskStream, EncodedAudioStream, Equalizer3BandsPerChannelT< T >, Equalizer3BandsPerChannelT< float >, Equalizer3BandsT< T >, Equalizer3BandsT< float >, EqualizerNBands< SampleT, AccT, NUM_TAPS, NUM_BANDS >, FadeStream, FilteredStream< T, TF >, GeneratedSoundStream< T >, I2SStream, MeasuringStream, MemoryStream, Pipeline::ModifyingStreamAdapter, PureDataStream, QualityAnalysisStream, QueueStream< T >, ReformatBaseStream, ResampleStream, RingBufferStream, SupportedRatesStream, TimedStream, URLStream, URLStreamBufferedT< T >, URLStreamBufferedT< ICYStream >, URLStreamBufferedT< ICYStreamESP32 >, URLStreamBufferedT< URLStream >, URLStreamBufferedT< URLStreamESP32 >, and VolumeStream.
|
inlineinherited |
Checks if the automatic AudioInfo update is active.
|
inlineinherited |
Checks if the automatic AudioInfo update is active.
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinevirtualinherited |
Reimplemented in A2DPStream, AdapterAudioOutputToAudioStream, AdapterAudioOutputToAudioStream, GeneratedSoundStream< T >, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, MemoryStream, MemoryStream, TimedStream, AudioBLEStream, AudioFFTBase, GeneratedSoundStream< T >, I2SStream, ICYStreamT< T >, ICYStreamT< URLStream >, ICYStreamT< URLStreamESP32 >, MemoryStream, Pipeline, PortAudioStream, TimedStream, URLStream, and USBAudioStreamBase.
|
inlinevirtualinherited |
Reimplemented in A2DPStream, AdapterAudioOutputToAudioStream, AdapterAudioOutputToAudioStream, GeneratedSoundStream< T >, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, MemoryStream, MemoryStream, TimedStream, AudioBLEStream, AudioFFTBase, GeneratedSoundStream< T >, I2SStream, ICYStreamT< T >, ICYStreamT< URLStream >, ICYStreamT< URLStreamESP32 >, MemoryStream, Pipeline, PortAudioStream, TimedStream, URLStream, and USBAudioStreamBase.
|
inlineoverridevirtual |
Reimplemented from AudioStream.
|
inlineoverridevirtual |
Reimplemented from AudioStream.
|
inlinevirtualinherited |
Source to generate silence: just sets the buffer to 0.
|
inlinevirtualinherited |
Source to generate silence: just sets the buffer to 0.
|
inlineprotectedinherited |
Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read().
|
inlineprotectedinherited |
Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read().
|
inlinevirtualinherited |
Removes a target in order not to be notified about audio changes.
|
inlinevirtualinherited |
Removes a target in order not to be notified about audio changes.
|
inlineoverridevirtual |
Updates the audio info and calls the callback.
Reimplemented from AudioStream.
|
inlineoverridevirtual |
Updates the audio info and calls the callback.
Reimplemented from AudioStream.
defines the callback to receive the actual audio info
defines the callback to receive the actual audio info
|
inline |
optioinally define available bytes for next read
|
inline |
optioinally define available bytes for next read
|
inline |
|
inline |
|
inlineinherited |
Deactivate/Reactivate automatic AudioInfo updates: (default is active).
|
inlineinherited |
Deactivate/Reactivate automatic AudioInfo updates: (default is active).
|
inlineoverridevirtual |
Defines/Changes the output target.
Implements ModifyingStream.
|
inlineoverridevirtual |
Defines/Changes the output target.
Implements ModifyingStream.
|
inline |
same as setStream
|
inline |
same as setStream
|
inlinevirtualinherited |
Defines/Changes the output target and registers for audio change notifications.
Reimplemented in AudioInputMonitor, AudioInputMonitor, EncodedAudioStream, ReformatBaseStream, TimedStream, VolumeMeter, and VolumeMeter.
|
inline |
Instead of reading from the input stream we call this method.
|
inline |
Instead of reading from the input stream we call this method.
|
inline |
same as set Output
|
inline |
same as set Output
|
inlineoverridevirtual |
Defines/Changes the input & output.
Implements ModifyingStream.
|
inlineoverridevirtual |
Defines/Changes the input & output.
Implements ModifyingStream.
|
inlinevirtualinherited |
Defines/Changes the input & output and registers for audio change notifications.
Reimplemented in AudioInputMonitor, AudioInputMonitor, EncodedAudioStream, ReformatBaseStream, TimedStream, VolumeMeter, and VolumeMeter.
|
inline |
After Reading or before writing we call this method to allow to modify the data.
|
inline |
After Reading or before writing we call this method to allow to modify the data.
|
inlineinherited |
|
inlineinherited |
|
inline |
Instead of writing to the output stream we call this method.
|
inline |
Instead of writing to the output stream we call this method.
|
inlineoverridevirtualinherited |
|
inlineoverridevirtual |
Reimplemented from AudioStream.
|
inlineoverridevirtual |
Reimplemented from AudioStream.
|
inlinevirtualinherited |
Writes len bytes of silence (=0).
|
inlinevirtualinherited |
Writes len bytes of silence (=0).
|
protectedinherited |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |