UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IAudioEncoder.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "DSP/Dsp.h"
7#include "Interfaces/IAudioFormat.h"
8
9namespace Audio
10{
16 {
17 public:
25
32 SIGNALPROCESSING_API bool PushAudio(const float* InBuffer, int32 NumSamples, bool bEncodeIfPossible = true);
33
40
44 virtual int32 GetCompressedPacketSize() const = 0;
45
51
57
58 protected:
64
68 virtual int64 SamplesRequiredPerEncode() const = 0;
69
76
81 virtual bool EncodeChunk(const TArray<float>& InAudio, TArray<uint8>& OutBytes) = 0;
82
87 virtual bool EndFile(TArray<uint8>& OutBytes) = 0;
88
89 private:
91
92 TArray<float> CurrentAudioBuffer;
93 TArray<uint8> CurrentCompressedBuffer;
94
95 TCircularAudioBuffer<float> UncompressedAudioBuffer;
96 TCircularAudioBuffer<uint8> CompressedDataBuffer;
97 };
98}
99
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition IAudioEncoder.h:16
virtual int32 GetCompressedPacketSize() const =0
SIGNALPROCESSING_API int32 PopData(uint8 *OutData, int32 DataSize)
Definition IAudioEncoder.cpp:37
virtual int64 SamplesRequiredPerEncode() const =0
SIGNALPROCESSING_API int64 Finalize()
Definition IAudioEncoder.cpp:71
virtual bool EncodeChunk(const TArray< float > &InAudio, TArray< uint8 > &OutBytes)=0
SIGNALPROCESSING_API bool PushAudio(const float *InBuffer, int32 NumSamples, bool bEncodeIfPossible=true)
Definition IAudioEncoder.cpp:15
virtual bool EndFile(TArray< uint8 > &OutBytes)=0
SIGNALPROCESSING_API bool EncodeIfPossible()
Definition IAudioEncoder.cpp:46
virtual bool StartFile(const FSoundQualityInfo &InQualityInfo, TArray< uint8 > &OutFileStart)=0
virtual SIGNALPROCESSING_API ~IAudioEncoder()
Definition IAudioEncoder.cpp:11
Definition Dsp.h:834
Definition Array.h:670
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53