Navigation
Unreal Engine C++ API Reference > Runtime > Engine
Inheritance Hierarchy
- ICompressedAudioInfo
- IStreamedCompressedInfo
- FBinkAudioInfo
- FOpusAudioInfo
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Public/AudioDecompress.h |
Include | #include "AudioDecompress.h" |
Syntax
class IStreamedCompressedInfo : public ICompressedAudioInfo
Remarks
Default implementation of a streamed compressed audio format. Can be subclassed to support streaming of a specific asset format. Handles all the platform independent aspects of file format streaming for you (dealing with UE streamed assets)
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
uint32 | AudioDataChunkIndex | The chunk index where the actual audio data starts. |
![]() |
uint32 | AudioDataOffset | Where the actual audio data starts in the current streamed chunk. Accounts for header offset. |
![]() |
bool | bIsStreaming | Bool set before ParseHeader. Whether we are streaming a file or not. |
![]() |
bool | bPrintChunkFailMessage | Whether or not to print the chunk fail message. |
![]() |
bool | bStoringEndOfFile | If we're currently reading the final buffer. |
![]() |
FAudioChunkHandle | CurCompressedChunkHandle | Chunk Handle to ensure that this chunk of streamed audio is not deleted while we are using it. |
![]() |
int32 | CurrentChunkIndex | The current chunk index in the streamed chunks. |
![]() |
TPimplPtr< FStreamedAudioChunkSeekTable > | CurrentChunkSeekTable | If there's a chunked seek-table present, this contains the current chunks portion. |
![]() |
uint32 | CurrentSampleCount | How many samples we've currently read in the source file. |
![]() |
TArray< uint8 > | LastDecodedPCM | The decoded PCM byte array from the last decoded frame. |
![]() |
uint32 | LastPCMByteSize | The amount of PCM data in bytes was decoded last. |
![]() |
uint32 | LastPCMOffset | The current offset in the last decoded PCM buffer. |
![]() |
uint32 | MaxFrameSizeSamples | The maximum number of samples per decode frame. |
![]() |
uint8 | NumChannels | Number of channels (left/right) in the source file. |
![]() |
uint32 | SampleStride | The number of bytes per interleaved sample (NumChannels * sizeof(int16)). |
![]() |
const uint8 * | SrcBufferData | Ptr to the current streamed chunk. |
![]() |
uint32 | SrcBufferDataSize | Size of the current streamed chunk. |
![]() |
uint32 | SrcBufferOffset | What byte we're currently reading in the streamed chunk. |
![]() |
uint32 | SrcBufferPadding | Number of bytes of padding used, overridden in some implementations. Defaults to 0. |
![]() |
std::atomic< int32 > | StreamSeekBlockIndex | When a streaming seek request comes down, this is the block we are going to. |
![]() |
int32 | StreamSeekBlockOffset | When a streaming seek request comes down, this is the offset in to the block we want to start decoding from. |
![]() |
uint32 | StreamSeekToAudioFrames | If using the Chunked seek-tables, we request the seek in samples so we can resolve after the chunk table loads. |
![]() |
uint32 | TrueSampleCount | The total sample count of the source file. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
bool | Create the compression format dependent decoder object. | |
![]() |
FDecodeResult | Decode
(
const uint8* CompressedData, |
Decode the input compressed frame data into output PCMData buffer. |
![]() |
int32 | DecompressToPCMBuffer
(
uint16 FrameSize |
Decompresses a frame of data to PCM buffer |
![]() ![]() |
const FStreamedAudioChunkSeekTable & | Gets the current chunks seektable instance (or creates one) | |
![]() |
FStreamedAudioChunkSeekTable & | Gets the current chunks seektable instance (or creates one) | |
![]() |
int32 | GetFrameSize () |
Return the size of the current compression frame |
![]() |
const uint8 * | GetLoadedChunk
(
const FSoundWaveProxyPtr& InSoundWave, |
Helper function for getting a chunk of compressed audio. |
![]() ![]() |
uint32 | The size of the decode PCM buffer size. | |
![]() ![]() |
int32 | ||
![]() ![]() |
int32 | ||
![]() |
uint32 | IncrementCurrentSampleCount
(
uint32 NewSamples |
Adds to the count of samples that have currently been decoded |
![]() |
bool | ParseHeader
(
const uint8* InSrcBufferData, |
Parse the header information from the input source buffer data. |
![]() ![]() |
void | Optional method to allow decoder to prepare to loop. | |
![]() |
uint32 | Read
(
void* Outbuffer, |
Reads from the internal source audio buffer stream of the given data size. |
![]() |
uint32 | WriteFromDecodedPCM
(
uint8* Destination, |
Writes data from decoded PCM buffer, taking into account whether some PCM has been written before |
![]() |
uint32 | ZeroBuffer
(
uint8* Destination, |
Zeroes the contents of a buffer |
Overridden from ICompressedAudioInfo
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | EnableHalfRate
(
bool HalfRate |
Sets decode to half-rate |
![]() ![]() |
void | ExpandFile
(
uint8* DstBuffer, |
Decompress an entire data file to a TArray |
![]() ![]() ![]() |
int32 | Gets the chunk index that was last read from (for Streaming Manager requests) | |
![]() ![]() ![]() |
int32 | Gets the offset into the chunk that was last read to (for Streaming Manager priority) | |
![]() ![]() ![]() |
uint32 | Gets the size of the source buffer originally passed to the info class (bytes) | |
![]() ![]() ![]() |
int | Gets the preferred size for a streaming buffer for this decompression scheme | |
![]() ![]() ![]() |
bool | Returns whether this instance can be cast to a IStreamedCompressedInfo. | |
![]() ![]() |
bool | ReadCompressedData
(
uint8* Destination, |
Decompresses data to raw PCM data. |
![]() ![]() |
bool | ReadCompressedInfo
(
const uint8* InSrcBufferData, |
Reads the header information of a compressed format |
![]() ![]() |
void | SeekToTime
(
const float SeekTime |
Seeks to time (Some formats might not be seekable) |
![]() ![]() |
bool | StreamCompressedData
(
uint8* Destination, |
Decompresses streamed data to raw PCM data. |
![]() ![]() |
bool | StreamCompressedInfoInternal
(
const FSoundWaveProxyPtr& InWaveProxy, |
Internal override implemented by subclasses. |
![]() ![]() ![]() |
bool | Following functions are optional if streaming is supported //. | |
![]() ![]() ![]() |
bool | Whether the decompressed audio will be arranged using Vorbis' channel ordering See http://www.xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-800004.3.9 for details |