UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Audio::FSampleRateConverter Class Reference
+ Inheritance diagram for Audio::FSampleRateConverter:

Public Member Functions

 FSampleRateConverter ()
 
virtual ~FSampleRateConverter ()
 
virtual void Init (const float InSampleRateRatio, const int32 InNumChannels) override
 
virtual void SetSampleRateRatio (const float InSampleRateRatio, const int32 NumInterpolationFrames) override
 
template<typename T >
int32 ProcessChunkImpl (const T *InBufferChunk, const int32 InNumSamples, const int32 RequestedFrames, TArray< float > &OutBuffer)
 
template<typename T >
int32 ProcessFullbufferImpl (const T *InBuffer, const int32 InNumSamples, TArray< float > &OutBuffer)
 
virtual int32 ProcessChunk (const int16 *BufferChunk, const int32 NumSamples, const int32 RequestedFrames, TArray< float > &OutBuffer) override
 
virtual int32 ProcessChunk (const float *BufferChunk, const int32 NumSamples, const int32 RequestedFrames, TArray< float > &OutBuffer) override
 
virtual int32 ProcessFullbuffer (const int16 *InBuffer, const int32 InNumSamples, TArray< float > &OutBuffer) override
 
virtual int32 ProcessFullbuffer (const float *InBuffer, const int32 InNumSamples, TArray< float > &OutBuffer) override
 
- Public Member Functions inherited from Audio::ISampleRateConverter
virtual ~ISampleRateConverter ()
 

Protected Attributes

int CurrentFrameIndex
 
int NextFrameIndex
 
float FrameAlpha
 
int32 NumChannels
 
float SampleRateRatio
 
float TargetSampleRateRatio
 
float SampleRatioDelta
 
int32 NumSampleRatioFrameTicks
 
int32 CurrentSampleRatioFrameTick
 
bool bUsePreviousChunkFrame
 
TArray< floatPreviousChunkFrame
 

Additional Inherited Members

- Static Public Member Functions inherited from Audio::ISampleRateConverter
static SIGNALPROCESSING_API ISampleRateConverterCreateSampleRateConverter ()
 

Constructor & Destructor Documentation

◆ FSampleRateConverter()

Audio::FSampleRateConverter::FSampleRateConverter ( )
inline

◆ ~FSampleRateConverter()

virtual Audio::FSampleRateConverter::~FSampleRateConverter ( )
inlinevirtual

Member Function Documentation

◆ Init()

virtual void Audio::FSampleRateConverter::Init ( const float  InSampleRateRatio,
const int32  InNumChannels 
)
inlineoverridevirtual

◆ ProcessChunk() [1/2]

virtual int32 Audio::FSampleRateConverter::ProcessChunk ( const float BufferChunk,
const int32  NumSamples,
const int32  RequestedFrames,
TArray< float > &  OutBuffer 
)
inlineoverridevirtual

◆ ProcessChunk() [2/2]

virtual int32 Audio::FSampleRateConverter::ProcessChunk ( const int16 BufferChunk,
const int32  NumInputSamples,
const int32  RequestedFrames,
TArray< float > &  OutBuffer 
)
inlineoverridevirtual

Process chunks of audio at a time. Saves state so can properly handle buffer boundaries. Use with Reset() to reset internal state before starting realtime SRC.

Parameters
BufferChunkInput audio buffer chunk
NumInputSamplesNumber of input samples.
RequestedFramesNumber of frames requested to process
OutBufferThe output buffer of converted audio.
Returns
Number of frames generated.

Implements Audio::ISampleRateConverter.

◆ ProcessChunkImpl()

template<typename T >
int32 Audio::FSampleRateConverter::ProcessChunkImpl ( const T *  InBufferChunk,
const int32  InNumSamples,
const int32  RequestedFrames,
TArray< float > &  OutBuffer 
)
inline

◆ ProcessFullbuffer() [1/2]

virtual int32 Audio::FSampleRateConverter::ProcessFullbuffer ( const float InBuffer,
const int32  InNumSamples,
TArray< float > &  OutBuffer 
)
inlineoverridevirtual

◆ ProcessFullbuffer() [2/2]

virtual int32 Audio::FSampleRateConverter::ProcessFullbuffer ( const int16 InBuffer,
const int32  InNumSamples,
TArray< float > &  OutBuffer 
)
inlineoverridevirtual

Given an input buffer, the output buffer is fully sample-rate converted.

Parameters
InBufferInput audio buffer
InNumSamplesNumber of input samples.
OutBufferThe output buffer of converted audio.
Returns
Number of frames generated.

Implements Audio::ISampleRateConverter.

◆ ProcessFullbufferImpl()

template<typename T >
int32 Audio::FSampleRateConverter::ProcessFullbufferImpl ( const T *  InBuffer,
const int32  InNumSamples,
TArray< float > &  OutBuffer 
)
inline

◆ SetSampleRateRatio()

virtual void Audio::FSampleRateConverter::SetSampleRateRatio ( const float  InSampleRateRatio,
const int32  NumInterpolationFrames 
)
inlineoverridevirtual

Member Data Documentation

◆ bUsePreviousChunkFrame

bool Audio::FSampleRateConverter::bUsePreviousChunkFrame
protected

◆ CurrentFrameIndex

int Audio::FSampleRateConverter::CurrentFrameIndex
protected

◆ CurrentSampleRatioFrameTick

int32 Audio::FSampleRateConverter::CurrentSampleRatioFrameTick
protected

◆ FrameAlpha

float Audio::FSampleRateConverter::FrameAlpha
protected

◆ NextFrameIndex

int Audio::FSampleRateConverter::NextFrameIndex
protected

◆ NumChannels

int32 Audio::FSampleRateConverter::NumChannels
protected

◆ NumSampleRatioFrameTicks

int32 Audio::FSampleRateConverter::NumSampleRatioFrameTicks
protected

◆ PreviousChunkFrame

TArray<float> Audio::FSampleRateConverter::PreviousChunkFrame
protected

◆ SampleRateRatio

float Audio::FSampleRateConverter::SampleRateRatio
protected

◆ SampleRatioDelta

float Audio::FSampleRateConverter::SampleRatioDelta
protected

◆ TargetSampleRateRatio

float Audio::FSampleRateConverter::TargetSampleRateRatio
protected

The documentation for this class was generated from the following file: