// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "DSP/Encoders/IAudioEncoder.h" class FWavEncoder : public Audio::IAudioEncoder { public: FWavEncoder(const FSoundQualityInfo& InInfo, int32 AudioCallbackSize); virtual int32 GetCompressedPacketSize() const override; protected: virtual int64 SamplesRequiredPerEncode() const override; virtual bool StartFile(const FSoundQualityInfo& InQualityInfo, TArray& OutFileStart) override; virtual bool EncodeChunk(const TArray& InAudio, TArray& OutBytes) override; virtual bool EndFile(TArray& OutBytes) override; private: int32 CallbackSize; FWavEncoder(); };