arduino-audio-tools
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
StreamingDecoder Class Referenceabstract

A Streaming Decoder where we provide both the input and output as streams. More...

#include <AudioCodecsBase.h>

Inheritance diagram for StreamingDecoder:
AudioInfoSource FLACDecoder StreamingDecoderAdapter VorbisDecoder

Public Member Functions

virtual void addNotifyAudioChange (AudioInfoSupport &bi)
 Adds target to be notified about audio changes.
 
virtual AudioInfo audioInfo ()=0
 Provides the last available MP3FrameInfo.
 
virtual bool begin ()=0
 Starts the processing.
 
virtual void clearNotifyAudioChange ()
 Deletes all change notify subscriptions.
 
virtual bool copy ()=0
 Process a single read operation - to be called in the loop.
 
virtual void end ()=0
 Releases the reserved memory.
 
bool isNotifyActive ()
 Checks if the automatic AudioInfo update is active.
 
virtual operator bool ()=0
 checks if the class is active
 
virtual bool removeNotifyAudioChange (AudioInfoSupport &bi)
 Removes a target in order not to be notified about audio changes.
 
void setInput (Stream &inStream)
 
void setNotifyActive (bool flag)
 Deactivate/Reactivate automatic AudioInfo updates: (default is active)
 
virtual void setOutput (AudioOutput &out_stream)
 Defines the output streams and register to be notified.
 
virtual void setOutput (AudioStream &out_stream)
 Defines the output streams and register to be notified.
 
virtual void setOutput (Print &out_stream)
 Defines the output Stream.
 

Protected Member Functions

void notifyAudioChange (AudioInfo info)
 
virtual size_t readBytes (uint8_t *data, size_t len)=0
 

Protected Attributes

bool is_notify_active = true
 
Vector< AudioInfoSupport * > notify_vector
 
Streamp_input = nullptr
 
Printp_print = nullptr
 

Detailed Description

A Streaming Decoder where we provide both the input and output as streams.

Author
Phil Schatzmann

Member Function Documentation

◆ setInput()

void setInput ( Stream inStream)
inline

Stream Interface: Decode directly by taking data from the stream. This is more efficient then feeding the decoder with write: just call copy() in the loop


The documentation for this class was generated from the following file: