You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rnx #rb none #ROBOMERGE-OWNER: ryan.durand #ROBOMERGE-AUTHOR: ryan.durand #ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900 #ROBOMERGE-BOT: (v613-10869866) [CL 10870549 by ryan durand in Main branch]
38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "DSP/Encoders/IAudioEncoder.h"
|
|
|
|
#if !PLATFORM_TVOS
|
|
|
|
struct FOggVorbisEncoderPrivateState;
|
|
|
|
class SIGNALPROCESSING_API FOggVorbisEncoder : public Audio::IAudioEncoder
|
|
{
|
|
public:
|
|
FOggVorbisEncoder(const FSoundQualityInfo& InInfo, int32 AverageBufferCallbackSize);
|
|
|
|
// From IAudioEncoder: returns 0, since Ogg Vorbis is not built for networked streaming.
|
|
virtual int32 GetCompressedPacketSize() const override;
|
|
|
|
protected:
|
|
|
|
// From IAudioEncoder:
|
|
virtual int64 SamplesRequiredPerEncode() const override;
|
|
virtual bool StartFile(const FSoundQualityInfo& InQualityInfo, TArray<uint8>& OutFileStart) override;
|
|
virtual bool EncodeChunk(const TArray<float>& InAudio, TArray<uint8>& OutBytes) override;
|
|
virtual bool EndFile(TArray<uint8>& OutBytes) override;
|
|
|
|
private:
|
|
FOggVorbisEncoder();
|
|
|
|
int32 NumChannels;
|
|
|
|
// Private, uniquely owned state.
|
|
// This must be a raw pointer because it has a non-default destructor that isn't public.
|
|
FOggVorbisEncoderPrivateState* PrivateState;
|
|
};
|
|
#endif // !PLATFORM_TVOS
|