#pragma once #include #include class AudioLevelTracker { public: AudioLevelTracker(); void updateMaxLevel(int32_t sample); int32_t getMaxLevel() const; void resetMaxLevel(); private: struct SamplePoint { uint32_t timestamp; int32_t value; }; std::deque sampleHistory; int32_t maxLevel; static const uint32_t HISTORY_DURATION_MS = 3000; // 3 seconds history static const int32_t MAX_RANGE_LIMIT = 200000000; // Maximum allowed range limit };