arduino-audio-tools
|
We support the Stream interface for the I2S access. In addition we allow a separate mute pin which might also be used to drive a LED... More...
#include <I2SStream.h>
Public Member Functions | |
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 |
Provides the available audio data. | |
virtual int | availableForWrite () override |
Provides the available audio data. | |
bool | begin () |
bool | begin (I2SConfig cfg) |
Starts the I2S interface. | |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
I2SConfig | defaultConfig (RxTxMode mode=TX_MODE) |
Provides the default configuration. | |
I2SDriver * | driver () |
Provides access to the driver. | |
void | end () |
Stops the I2S interface. | |
void | flush () override |
bool | isActive () |
Returns true if i2s is active. | |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
operator bool () override | |
Returns true if i2s is active. | |
virtual size_t | readBytes (uint8_t *data, size_t len) override |
Reads the audio data. | |
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 info) |
updates the sample rate dynamically | |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
virtual size_t | write (const uint8_t *data, size_t len) |
Writes the audio data to I2S. | |
virtual size_t | write (uint8_t ch) override |
virtual void | writeSilence (size_t len) |
Writes len bytes of silence (=0). | |
Protected Member Functions | |
void | mute (bool is_mute) |
set mute pin on or off | |
virtual int | not_supported (int out, const char *msg="") |
void | notifyAudioChange (AudioInfo info) |
void | refillReadBuffer () |
Protected Attributes | |
int | _timeout = 10 |
I2SDriver | i2s |
AudioInfo | info |
bool | is_active = false |
bool | is_notify_active = true |
int | mute_pin |
Vector< AudioInfoSupport * > | notify_vector |
RingBuffer< uint8_t > | tmp_in {0} |
RingBuffer< uint8_t > | tmp_out {0} |
We support the Stream interface for the I2S access. In addition we allow a separate mute pin which might also be used to drive a LED...
T |
|
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.
Provides the available audio data.
Reimplemented from BaseStream.
Provides the available audio data.
Reimplemented from BaseStream.
|
inlinevirtual |
Reimplemented from BaseStream.
|
inlinevirtual |
Stops the I2S interface.
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
Returns true if i2s is active.
Reimplemented from AudioStream.
Reads the audio data.
Reimplemented from AudioStream.
updates the sample rate dynamically
Reimplemented from AudioStream.
Writes the audio data to I2S.
Reimplemented from AudioStream.
Reimplemented in BufferedTaskStream, and BufferedStream.