UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FBinkAudioInfo Class Reference

#include <BinkAudioInfo.h>

+ Inheritance diagram for FBinkAudioInfo:

Public Member Functions

BINKAUDIODECODER_API FBinkAudioInfo ()
 
virtual BINKAUDIODECODER_API ~FBinkAudioInfo ()
 
virtual bool ParseHeader (const uint8 *InSrcBufferData, uint32 InSrcBufferDataSize, FSoundQualityInfo *QualityInfo) override
 
virtual int32 GetFrameSize () override
 
virtual uint32 GetMaxFrameSizeSamples () const override
 
virtual bool CreateDecoder () override
 
virtual void SeekToTime (const float SeekToTimeSeconds) override
 
virtual void SeekToFrame (const uint32 SeekTimeFrames) override
 
virtual FDecodeResult Decode (const uint8 *CompressedData, const int32 CompressedDataSize, uint8 *OutPCMData, const int32 OutputPCMDataSize) override
 
virtual bool HasError () const override
 
- Public Member Functions inherited from IStreamedCompressedInfo
ENGINE_API IStreamedCompressedInfo ()
 
virtual ENGINE_API ~IStreamedCompressedInfo ()
 
virtual ENGINE_API bool ReadCompressedInfo (const uint8 *InSrcBufferData, uint32 InSrcBufferDataSize, FSoundQualityInfo *QualityInfo) override
 
virtual ENGINE_API bool ReadCompressedData (uint8 *Destination, bool bLooping, uint32 BufferSize) override
 
virtual ENGINE_API void ExpandFile (uint8 *DstBuffer, struct FSoundQualityInfo *QualityInfo) override
 
virtual void EnableHalfRate (bool HalfRate) override
 
virtual uint32 GetSourceBufferSize () const override
 
virtual bool UsesVorbisChannelOrdering () const override
 
virtual int GetStreamBufferSize () const override
 
virtual bool SupportsStreaming () const override
 
virtual ENGINE_API bool StreamCompressedInfoInternal (const FSoundWaveProxyPtr &InWaveProxy, FSoundQualityInfo *QualityInfo) override
 
virtual ENGINE_API bool StreamCompressedData (uint8 *Destination, bool bLooping, uint32 BufferSize, int32 &OutNumBytesStreamed) override
 
virtual int32 GetCurrentChunkIndex () const override
 
virtual int32 GetCurrentChunkOffset () const override
 
virtual bool IsStreamedCompressedInfo () const override
 
virtual void PrepareToLoop ()
 
int32 GetStreamSeekBlockIndex () const
 
int32 GetStreamSeekBlockOffset () const
 
- Public Member Functions inherited from ICompressedAudioInfo
ENGINE_API ICompressedAudioInfo ()
 
virtual ENGINE_API ~ICompressedAudioInfo ()
 
virtual bool ReleaseStreamChunk (bool bBlockUntilReleased)
 
ENGINE_API bool StreamCompressedInfo (USoundWave *Wave, struct FSoundQualityInfo *QualityInfo)
 
ENGINE_API bool StreamCompressedInfo (const FSoundWaveProxyPtr &Wave, struct FSoundQualityInfo *QualityInfo)
 
virtual const FSoundWaveProxyPtrGetStreamingSoundWave () const
 

Protected Types

using Super = IStreamedCompressedInfo
 

Protected Member Functions

void NotifySeek ()
 
- Protected Member Functions inherited from IStreamedCompressedInfo
ENGINE_API uint32 Read (void *Outbuffer, uint32 DataSize)
 
int32 DecompressToPCMBuffer (uint16 FrameSize)
 
uint32 IncrementCurrentSampleCount (uint32 NewSamples)
 
uint32 WriteFromDecodedPCM (uint8 *Destination, uint32 BufferSize)
 
uint32 ZeroBuffer (uint8 *Destination, uint32 BufferSize)
 
ENGINE_API const uint8GetLoadedChunk (const FSoundWaveProxyPtr &InSoundWave, uint32 ChunkIndex, uint32 &OutChunkSize)
 
void RetainNextChunkInSequence (const FSoundWaveProxyPtr &InSoundWave, const uint32 InChunkIndex)
 
const FStreamedAudioChunkSeekTableGetCurrentSeekTable () const
 
FStreamedAudioChunkSeekTableGetCurrentSeekTable ()
 
- Protected Member Functions inherited from ICompressedAudioInfo
bool WantsFilteredLogging () const
 

Protected Attributes

uint32 MaxCompSpaceNeeded
 
uint32 SampleRate
 
TArray< uint8, TAlignedHeapAllocator< 16 > > OutputReservoir
 
struct BinkAudioDecoderDecoder = 0
 
TArray< uint8, TAlignedHeapAllocator< 16 > > RawMemory
 
bool bErrorStateLatch = false
 
- Protected Attributes inherited from IStreamedCompressedInfo
bool bIsStreaming
 
const uint8SrcBufferData
 
uint32 SrcBufferDataSize
 
uint32 SrcBufferOffset
 
uint32 AudioDataOffset
 
uint32 AudioDataChunkIndex
 
uint32 TrueSampleCount
 
uint32 CurrentSampleCount
 
uint8 NumChannels
 
uint32 MaxFrameSizeSamples
 
uint32 SampleStride
 
TArray< uint8LastDecodedPCM
 
uint32 LastPCMByteSize
 
uint32 LastPCMOffset
 
bool bStoringEndOfFile
 
int32 CurrentChunkIndex
 
uint32 SrcBufferPadding
 
FAudioChunkHandle CurCompressedChunkHandle
 
FAudioChunkHandle NextPlayingChunkHandle
 
TPimplPtr< FStreamedAudioChunkSeekTableCurrentChunkSeekTable
 
std::atomic< int32StreamSeekBlockIndex
 
int32 StreamSeekBlockOffset
 
uint32 StreamSeekToAudioFrames = INDEX_NONE
 
- Protected Attributes inherited from ICompressedAudioInfo
bool bHasError = false
 
bool bWantsFilteredLogging = false
 
FSoundWaveProxyPtr StreamingSoundWave
 

Detailed Description

Decoder thunk to the Bink Audio libraries. Also manages file parsing for the cooked data.

Member Typedef Documentation

◆ Super

Constructor & Destructor Documentation

◆ FBinkAudioInfo()

FBinkAudioInfo::FBinkAudioInfo ( )

◆ ~FBinkAudioInfo()

FBinkAudioInfo::~FBinkAudioInfo ( )
virtual

Member Function Documentation

◆ CreateDecoder()

bool FBinkAudioInfo::CreateDecoder ( )
overridevirtual

Create the compression format dependent decoder object.

Implements IStreamedCompressedInfo.

◆ Decode()

FDecodeResult FBinkAudioInfo::Decode ( const uint8 CompressedData,
const int32  CompressedDataSize,
uint8 OutPCMData,
const int32  OutputPCMDataSize 
)
overridevirtual

Decode the input compressed frame data into output PCMData buffer.

Implements IStreamedCompressedInfo.

◆ GetFrameSize()

int32 FBinkAudioInfo::GetFrameSize ( )
overridevirtual

Return the size of the current compression frame

Implements IStreamedCompressedInfo.

◆ GetMaxFrameSizeSamples()

uint32 FBinkAudioInfo::GetMaxFrameSizeSamples ( ) const
overridevirtual

The size of the decode PCM buffer size.

Implements IStreamedCompressedInfo.

◆ HasError()

bool FBinkAudioInfo::HasError ( ) const
overridevirtual

Returns true if a non-recoverable error has occurred.

Reimplemented from ICompressedAudioInfo.

◆ NotifySeek()

void FBinkAudioInfo::NotifySeek ( )
protected

◆ ParseHeader()

bool FBinkAudioInfo::ParseHeader ( const uint8 InSrcBufferData,
uint32  InSrcBufferDataSize,
FSoundQualityInfo QualityInfo 
)
overridevirtual

Parse the header information from the input source buffer data. This is dependent on compression format.

Implements IStreamedCompressedInfo.

◆ SeekToFrame()

void FBinkAudioInfo::SeekToFrame ( const uint32  Frame)
overridevirtual

Seeks to specific frame in the audio (Some formats might not be seekable)

Reimplemented from IStreamedCompressedInfo.

◆ SeekToTime()

void FBinkAudioInfo::SeekToTime ( const float  SeekTime)
overridevirtual

Seeks to time (Some formats might not be seekable)

Reimplemented from IStreamedCompressedInfo.

Member Data Documentation

◆ bErrorStateLatch

bool FBinkAudioInfo::bErrorStateLatch = false
protected

◆ Decoder

struct BinkAudioDecoder* FBinkAudioInfo::Decoder = 0
protected

◆ MaxCompSpaceNeeded

uint32 FBinkAudioInfo::MaxCompSpaceNeeded
protected

◆ OutputReservoir

TArray<uint8, TAlignedHeapAllocator<16> > FBinkAudioInfo::OutputReservoir
protected

◆ RawMemory

TArray<uint8, TAlignedHeapAllocator<16> > FBinkAudioInfo::RawMemory
protected

◆ SampleRate

uint32 FBinkAudioInfo::SampleRate
protected

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