AudioTransform.h 653 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <memory>
  3. #include <thread>
  4. #include <mutex>
  5. #include "StreamInfo.h"
  6. #include "TransformConfig.h"
  7. namespace bell
  8. {
  9. class AudioTransform
  10. {
  11. protected:
  12. std::mutex accessMutex;
  13. public:
  14. virtual std::unique_ptr<StreamInfo> process(std::unique_ptr<StreamInfo> data) = 0;
  15. virtual void sampleRateChanged(uint32_t sampleRate){};
  16. virtual float calculateHeadroom() { return 0; };
  17. virtual void reconfigure() {};
  18. std::string filterType;
  19. std::unique_ptr<TransformConfig> config;
  20. AudioTransform() = default;
  21. virtual ~AudioTransform() = default;
  22. };
  23. };