arduino-audio-tools
Loading...
Searching...
No Matches
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.
 
virtual operator bool ()
 
virtual 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.
 
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 *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

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_ttmp_in {0}
 
RingBuffer< uint8_ttmp_out {0}
 

Detailed Description

Abstract Base class for all URLStream implementations.

Author
Phil Schatzmann

Member Function Documentation

◆ addNotifyAudioChange()

virtual void addNotifyAudioChange ( AudioInfoSupport bi)
inlinevirtualinherited

◆ audioInfo()

virtual AudioInfo audioInfo ( )
inlineoverridevirtualinherited

◆ audioInfoOut()

virtual AudioInfo audioInfoOut ( )
inlinevirtualinherited

◆ available()

virtual int available ( )
inlineoverridevirtualinherited

◆ availableForWrite()

int availableForWrite ( )
inlineoverridevirtual

Writes are not supported.

Reimplemented from BaseStream.

◆ begin() [1/2]

virtual bool begin ( )
inlinevirtualinherited

◆ begin() [2/2]

virtual bool begin ( const char urlStr,
const char acceptMime = nullptr,
MethodID  action = GET,
const char reqMime = "",
const char reqData = "" 
)
pure virtual

Implemented in URLStream.

◆ end()

virtual void end ( )
overridepure virtual

Reimplemented from BaseStream.

Implemented in ICYStream.

◆ flush()

virtual void flush ( )
inlineoverridevirtualinherited

Reimplemented from Print.

Reimplemented in ResampleStream, ICYStreamBuffered, BufferedTaskStream, and BufferedStream.

◆ httpRequest()

virtual HttpRequest & httpRequest ( )
pure virtual

provides access to the HttpRequest

Implemented in URLStreamBuffered, ICYStream, ICYStreamBuffered, and URLStream.

◆ operator bool()

virtual operator bool ( )
inlinevirtualinherited

Reimplemented in A2DPStream, Pipeline, I2SStream, and MemoryStream.

◆ readBytes()

virtual size_t readBytes ( uint8_t data,
size_t  len 
)
inlineoverridevirtualinherited

◆ setAudioInfo()

virtual void setAudioInfo ( AudioInfo  info)
inlineoverridevirtualinherited

◆ setClient()

virtual void setClient ( Client clientPar)
pure virtual

(Re-)defines the client

Implemented in ICYStream, ICYStreamBuffered, URLStreamBuffered, and URLStream.

◆ setMetadataCallback()

virtual bool setMetadataCallback ( void(*)(MetaDataType info, const char *str, int len)  fn)
inlinevirtual

Reimplemented in ICYStream.

◆ setPassword()

virtual void setPassword ( const char password)
pure virtual

Sets the password that will be used for logging in (when calling begin)

Implemented in ICYStream, ICYStreamBuffered, URLStream, and URLStreamBuffered.

◆ 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 ICYStream, URLStream, ICYStreamBuffered, and URLStreamBuffered.

◆ setSSID()

virtual void setSSID ( const char ssid)
pure virtual

Sets the ssid that will be used for logging in (when calling begin)

Implemented in ICYStream, ICYStreamBuffered, URLStream, and URLStreamBuffered.

◆ write() [1/2]

virtual size_t write ( const uint8_t data,
size_t  len 
)
inlineoverridevirtualinherited

◆ write() [2/2]

virtual size_t write ( uint8_t  ch)
inlineoverridevirtualinherited

Reimplemented in BufferedTaskStream, and BufferedStream.


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