#ifndef AUDIOSINK_H #define AUDIOSINK_H #include #include #include class AudioSink { public: AudioSink() {} virtual ~AudioSink() {} virtual void feedPCMFrames(const uint8_t* buffer, size_t bytes) = 0; virtual void volumeChanged(uint16_t volume) {} // Return false if the sink doesn't support reconfiguration. virtual bool setParams(uint32_t sampleRate, uint8_t channelCount, uint8_t bitDepth) { return false; } // Deprecated. Implement/use setParams() instead. virtual inline bool setRate(uint16_t sampleRate) { return setParams(sampleRate, 2, 16); } bool softwareVolumeControl = true; bool usign = false; }; #endif