arduino-snapclient
All Classes Namespaces Functions Pages
Classes | Enumerations | Functions | Variables
snap_arduino Namespace Reference

Classes

struct  SnapAudioHeader
 Information about the next bucket. More...
 
class  SnapClient
 Snap Client for ESP32 Arduino. More...
 
struct  SnapMessageBase
 Snapcast Base Message. More...
 
struct  SnapMessageCodecHeader
 Snapcast Codec Header Message. More...
 
struct  SnapMessageHallo
 Snapcast Hallo Message. More...
 
struct  SnapMessageServerSettings
 Snapcast Server Settings Message. More...
 
struct  SnapMessageTime
 Snapcast Time Message. More...
 
struct  SnapMessageWireChunk
 Snapcast Wire Chunk Message. More...
 
class  SnapOutput
 Simple Output Class which uses the AudioTools to build an output chain with volume control and a resampler. More...
 
class  SnapProcessor
 Snap Processor implementation which does not rely on FreeRTOS. More...
 
class  SnapProcessorBuffered
 Processor for which the encoded output is buffered in a ringbuffer in order to prevent any buffer underruns. More...
 
class  SnapProcessorRP2040
 Processor for which the encoded output is buffered in a queue. The decoding and audio output can be done on the second core by calling loop1();. More...
 
class  SnapProcessorRTOS
 Processor for which the encoded output is buffered in a queue in order to prevent any buffer underruns. A RTOS task feeds the output from the queue. More...
 
struct  SnapReadBuffer
 Buffer to read different data types. More...
 
class  SnapTime
 The the sys/time functions are used to represent the server time. The local time will be measured with the help of the Arduino millis() method. This class provides the basic functionality to translate between local and server time. More...
 
struct  SnapTimePoints
 Recording of local_ms and server_ms. More...
 
class  SnapTimeSync
 Abstract (Common) Time Synchronization Logic which consists of the startup synchronization and the local to server clock synchronization which adjusts the sampling rate. More...
 
class  SnapTimeSyncDynamic
 Dynamically adjusts the effective playback sample rate based on the differences of the local and server clock between the different intervals. More...
 
class  SnapTimeSyncDynamicSinceStart
 Dynamically adjusts the effective playback sample rate based on the differences of the local and server clock since the start. More...
 
class  SnapTimeSyncFixed
 Uses predefined fixed factor. More...
 
struct  SnapWriteBuffer
 Buffer to write different data types. More...
 
struct  tv_t
 Time as sec & usec. More...
 

Enumerations

enum  codec_type {
  NO_CODEC , PCM , FLAC , OGG ,
  OPUS
}
 
enum  MessageType {
  SNAPCAST_MESSAGE_BASE = 0 , SNAPCAST_MESSAGE_CODEC_HEADER = 1 , SNAPCAST_MESSAGE_WIRE_CHUNK = 2 , SNAPCAST_MESSAGE_SERVER_SETTINGS = 3 ,
  SNAPCAST_MESSAGE_TIME = 4 , SNAPCAST_MESSAGE_HELLO = 5 , SNAPCAST_MESSAGE_STREAM_TAGS = 6 , SNAPCAST_MESSAGE_FIRST = SNAPCAST_MESSAGE_BASE ,
  SNAPCAST_MESSAGE_LAST = SNAPCAST_MESSAGE_STREAM_TAGS
}
 

Functions

void checkHeap ()
 
void logHeap ()
 

Variables

static const char * TAG ="COMMON"
 

Detailed Description

Global Shared Objects

Snap Client from https://github.com/jorgenkraghjakobsen/snapclient converted to an Arduino Library using the AudioTools as output API