IAudioStreamingManager

Interface to add functions specifically related to audio streaming

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/ContentStreaming.h

Include

#include "ContentStreaming.h"

Syntax

struct IAudioStreamingManager : public IStreamingManager

Remarks

Interface to add functions specifically related to audio streaming

Variables

Name Description

Protected variable

friend

 

FAudioChunkHandle

Functions

Name Description

Public function

void

 

AddDecoder

(
    ICompressedAudioInfo * Compress...
)

Adds the decoder to the streaming manager to prevent stream chunks from getting reaped from underneath it

Protected function

void

 

AddReferenceToChunk

(
    const FAudioChunkHandle & InHandle
)

This can be used to increment reference counted handles to audio chunks.

Public function

void

 

AddStreamingSoundSource

(
    FSoundSource * SoundSource
)

Adds a new Sound Source to the streaming manager.

Public function

void

 

AddStreamingSoundWave

(
    USoundWave * SoundWave
)

Adds a new Sound Wave to the streaming manager.

Protected function Static

FAudioChunkH ...

 

BuildChunkHandle

(
    const uint8 * InData,
    uint32 NumBytes,
    const USoundWave * InSoundWave,
    const FName & SoundWaveName,
    uint32 InChunkIndex
)

This can be called by implementers of IAudioStreamingManager to construct an FAudioChunkHandle using an otherwise inaccessible constructor.

Public function Const

bool

 

CanCreateSoundSource

(
    const FWaveInstance * WaveInsta...
)

Public function

FString

 

GenerateMemoryReport()

Generate a memory report as a formatted string for this streaming manager.

Public function Const

FAudioChunkH ...

 

GetLoadedChunk

(
    const USoundWave * SoundWave,
    uint32 ChunkIndex,
    bool bBlockForLoad,
    bool bForImmediatePlayback
)

Gets a pointer to a chunk of audio data

Public function Const

bool

 

IsManagedStreamingSoundSource

(
    const FSoundSource * SoundSourc...
)

Returns true if this is a streaming Sound Source that is managed by the streaming manager.

Public function Const

bool

 

IsManagedStreamingSoundWave

(
    const USoundWave * SoundWave
)

Returns true if this is a Sound Wave that is managed by the streaming manager.

Public function

bool

 

IsStreamingInProgress

(
    const USoundWave * SoundWave
)

Returns true if this Sound Wave is currently streaming a chunk.

Public function

void

 

RemoveDecoder

(
    ICompressedAudioInfo * Compress...
)

Removes the decoder from the streaming manager.

Protected function

void

 

RemoveReferenceToChunk

(
    const FAudioChunkHandle & InHandle
)

This can be used to decrement reference counted handles to audio chunks.

Public function

void

 

RemoveStreamingSoundSource

(
    FSoundSource * SoundSource
)

Removes a Sound Source from the streaming manager.

Public function

void

 

RemoveStreamingSoundWave

(
    USoundWave * SoundWave
)

Removes a Sound Wave from the streaming manager.

Public function

int32

 

RenderStatAudioStreaming

(
    UWorld * World,
    FViewport * Viewport,
    FCanvas * Canvas,
    int32 X,
    int32 Y,
    const FVector * ViewLocation,
    const FRotator * ViewRotation
)

Used for rendering debug info:

Public function

bool

 

RequestChunk

(
    USoundWave * SoundWave,
    uint32 ChunkIndex,
    TFunction < void ...,
    ENamedThreads::Type ThreadToCallOnL...,
    bool bForImmediatePlayback
)

Manually prepare a chunk to start playing back.

Public function

void

 

SetProfilingMode

(
    bool bEnabled
)

Whether to toggle a performance intensive profiling mode the streaming manager.

Public function

uint64

 

TrimMemory

(
    uint64 NumBytesToFree
)

This will start evicting elements from the cache until either hit our target of bytes or run out of chunks we can free.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback