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

Abstract Base class for all URLStream implementations. More...

#include <AbstractURLStream.h>

Inheritance diagram for AbstractURLStream:
AudioStream BaseStream AudioInfoSupport AudioInfoSource Stream Print ICYStream ICYStreamBuffered URLStream URLStreamBuffered

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
 
int availableForWrite () override
 Writes are not supported.
 
virtual bool begin ()
 
virtual bool begin (const char *urlStr, const char *acceptMime=nullptr, MethodID action=GET, const char *reqMime="", const char *reqData="")=0
 
virtual void clearNotifyAudioChange ()
 Deletes all change notify subscriptions.
 
virtual void end () override=0
 
virtual void flush () override
 
virtual HttpRequesthttpRequest ()=0
 provides access to the HttpRequest
 
bool isNotifyActive ()
 Checks if the automatic AudioInfo update is active.
 
 operator bool ()
 
virtual size_t readBytes (uint8_t *buffer, size_t length) 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.
 
virtual void setAudioInfo (AudioInfo newInfo) override
 Defines the input AudioInfo.
 
virtual void setClient (Client &clientPar)=0
 (Re-)defines the client
 
virtual bool setMetadataCallback (void(*fn)(MetaDataType info, const char *str, int len))
 
void setNotifyActive (bool flag)
 Deactivate/Reactivate automatic AudioInfo updates: (default is active)
 
virtual void setPassword (const char *password)=0
 Sets the password that will be used for logging in (when calling begin)
 
virtual void setPowerSave (bool ps)=0
 
virtual void setSSID (const char *ssid)=0
 Sets the ssid that will be used for logging in (when calling begin)
 
virtual size_t write (const uint8_t *buffer, size_t size) override
 
virtual size_t write (uint8_t ch) override
 
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 refillReadBuffer ()
 

Protected Attributes

int _timeout = 10
 
AudioInfo info
 
bool is_notify_active = true
 
Vector< AudioInfoSupport * > notify_vector
 
RingBuffer< uint8_t > tmp_in {0}
 
RingBuffer< uint8_t > tmp_out {0}
 

Detailed Description

Abstract Base class for all URLStream implementations.

Author
Phil Schatzmann

Member Function Documentation

◆ setPowerSave()

virtual void setPowerSave ( bool  ps)
pure virtual

if set to true, it activates the power save mode which comes at the cost of performance! - By default this is deactivated. ESP32 Only!

Implemented in URLStream, and ICYStream.


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