#pragma once #include #include namespace engine::audio { // Stateful mono F32 resampling. Flush once at end; never resample chunks independently. class StreamingSoxrResampler { public: StreamingSoxrResampler(int source_rate, int target_rate); ~StreamingSoxrResampler(); std::vector process(const std::vector & samples, bool final = false); private: class Impl; std::unique_ptr impl_; }; } // namespace engine::audio