arduino-audio-tools
|
Arduino Audio Stream using PortAudio. More...
#include <PortAudioStream.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 |
virtual int | availableForWrite () override |
bool | begin () override |
bool | begin (PortAudioConfig info) |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
PortAudioConfig | defaultConfig () |
PortAudioConfig | defaultConfig (RxTxMode mode) |
void | end () override |
virtual void | flush () override |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
operator bool () | |
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 in) override |
notification of audio info change | |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
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 | |
int | bytesPerSample () |
PaSampleFormat | getFormat () |
virtual int | not_supported (int out, const char *msg="") |
void | notifyAudioChange (AudioInfo info) |
void | refillReadBuffer () |
void | startStream () |
automatically start the stream when we start to get data | |
Protected Attributes | |
int | _timeout = 10 |
int | buffer_size = 10*1024 |
PaError | err = paNoError |
PortAudioConfig | info |
bool | is_notify_active = true |
Vector< AudioInfoSupport * > | notify_vector |
PaStream * | stream = nullptr |
bool | stream_started = false |
RingBuffer< uint8_t > | tmp_in {0} |
RingBuffer< uint8_t > | tmp_out {0} |
Arduino Audio Stream using PortAudio.
|
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.
Reimplemented from Stream.
Reimplemented in AudioKitStream, A2DPStream, I2SCodecStream, TfLiteAudioStream, UDPStream, ICYStream, BufferedTaskStream, I2SStream, TimedStream, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, BufferedStream, ConverterStream< T >, InputMerge< T >, Pipeline::ModifyingStreamAdapter, and VolumeStream.
Reimplemented from Print.
Reimplemented in UDPStream, A2DPStream, I2SCodecStream, AbstractURLStream, I2SStream, MeasuringStream, ProgressStream, and VolumeStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
Reimplemented from Print.
Reimplemented in ResampleStream, ICYStreamBuffered, BufferedTaskStream, and BufferedStream.
Reimplemented from AudioStream.
Reimplemented from AudioStream.
notification of audio info change
Reimplemented from AudioStream.
Reimplemented from AudioStream.
Reimplemented in BufferedTaskStream, and BufferedStream.