Navigation
API > API/Runtime > API/Runtime/Engine
Inheritance Hierarchy
- IStreamingManager
- IAudioStreamingManager
- FCachedAudioStreamingManager
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Public/AudioStreamingCache.h |
| Include | #include "AudioStreamingCache.h" |
Syntax
struct FCachedAudioStreamingManager : public IAudioStreamingManager
Remarks
This implementation of the audio streaming manager uses an internal LRU cache (or in more advanced applications, a bank of parallel LRU caches)
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< FAudioChunkCache > | CacheArray | Audio chunk caches. These are set up on initialization. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FCachedAudioStreamingManager
(
const FCachedAudioStreamingManagerParams& InitParams |
Constructor, initializing all members |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| FAudioChunkCache * | GetCacheForChunkSize
(
uint32 InChunkSize |
||
| FAudioChunkCache * | GetCacheForWave
(
const FSoundWaveProxyPtr& InSoundWave |
Returns which cache this sound wave should be in, based on the size of this sound wave's chunk, or nullptr if MemoryLoadOnDemand is disabled. | |
| int32 | GetNextChunkIndex
(
const FSoundWaveProxyPtr& InSoundWave, |
Returns the next chunk to kick off a load for, or INDEX_NONE if there is only one chunk to cache. |
Overridden from IAudioStreamingManager
| Type | Name | Description | |
|---|---|---|---|
| void | AddDecoder
(
ICompressedAudioInfo* CompressedAudioInfo |
Adds the decoder to the streaming manager to prevent stream chunks from getting reaped from underneath it | |
| void | AddReferenceToChunk
(
const FAudioChunkHandle& InHandle |
These are used to reference count consumers of audio chunks. | |
| void | AddStreamingSoundSource
(
FSoundSource* SoundSource |
Adds a new Sound Source to the streaming manager. | |
| void | AddStreamingSoundWave
(
const FSoundWaveProxyPtr& SoundWave |
IAudioStreamingManager interface (unused functions) | |
| bool | CanCreateSoundSource
(
const FWaveInstance* WaveInstance |
||
| FString | Generate a memory report as a formatted string for this streaming manager. | ||
| FAudioChunkHandle | GetLoadedChunk
(
const FSoundWaveProxyPtr& SoundWave, |
Gets a pointer to a chunk of audio data | |
| bool | IsManagedStreamingSoundSource
(
const FSoundSource* SoundSource |
Returns true if this is a streaming Sound Source that is managed by the streaming manager. | |
| bool | IsManagedStreamingSoundWave
(
const FSoundWaveProxyPtr& SoundWave |
Returns true if this is a Sound Wave that is managed by the streaming manager. | |
| bool | IsStreamingInProgress
(
const FSoundWaveProxyPtr& SoundWave |
Returns true if this Sound Wave is currently streaming a chunk. | |
| void | RemoveDecoder
(
ICompressedAudioInfo* CompressedAudioInfo |
Removes the decoder from the streaming manager. | |
| void | RemoveReferenceToChunk
(
const FAudioChunkHandle& InHandle |
This can be used to decrement reference counted handles to audio chunks. | |
| void | RemoveStreamingSoundSource
(
FSoundSource* SoundSource |
Removes a Sound Source from the streaming manager. | |
| void | RemoveStreamingSoundWave
(
const FSoundWaveProxyPtr& SoundWave |
Removes a Sound Wave from the streaming manager. | |
| int32 | RenderStatAudioStreaming
(
UWorld* World, |
Used for rendering debug info: | |
| bool | RequestChunk
(
const FSoundWaveProxyPtr& SoundWave, |
IAudioStreamingManager interface (used functions) | |
| void | SetProfilingMode
(
bool bEnabled |
Whether to toggle a performance intensive profiling mode the streaming manager. | |
| 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. |
Overridden from IStreamingManager
| Type | Name | Description | |
|---|---|---|---|
| void | Adds a ULevel that has already prepared StreamingData to the streaming manager. | ||
| int32 | BlockTillAllRequestsFinished
(
float TimeLimit, |
Blocks till all pending requests are fulfilled. | |
| void | Cancels the timed Forced resources (i.e used the Kismet action "Stream In Textures"). | ||
| void | Notifies manager of "level" change. | ||
| void | NotifyLevelOffset
(
ULevel* Level, |
Notifies manager that level primitives were shifted | |
| void | RemoveLevel
(
ULevel* Level |
Removes a ULevel from the streaming manager. | |
| void | SetDisregardWorldResourcesForFrames
(
int32 NumFrames |
Don't stream world resources for the next NumFrames. | |
| void | UpdateResourceStreaming
(
float DeltaTime, |
Updates streaming, taking into account all current view infos. |