mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2026-05-16 10:15:32 +01:00
29 lines
653 B
C++
29 lines
653 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <thread>
|
|
#include <mutex>
|
|
#include "StreamInfo.h"
|
|
#include "TransformConfig.h"
|
|
|
|
namespace bell
|
|
{
|
|
class AudioTransform
|
|
{
|
|
protected:
|
|
std::mutex accessMutex;
|
|
|
|
public:
|
|
virtual std::unique_ptr<StreamInfo> process(std::unique_ptr<StreamInfo> data) = 0;
|
|
virtual void sampleRateChanged(uint32_t sampleRate){};
|
|
virtual float calculateHeadroom() { return 0; };
|
|
|
|
virtual void reconfigure() {};
|
|
|
|
std::string filterType;
|
|
std::unique_ptr<TransformConfig> config;
|
|
|
|
AudioTransform() = default;
|
|
virtual ~AudioTransform() = default;
|
|
};
|
|
}; |