13 static const int32 MAX_BUFFERS_QUEUED = 3;
14 static const int32 LOOP_FOREVER = -1;
17 struct FProceduralAudioTaskData;
18 struct FProceduralAudioTaskResults;
134#if ENABLE_AUDIO_DEBUG
148 void SubmitInitialPCMBuffers();
149 void SubmitInitialRealtimeBuffers();
151 void ProcessRealTimeSource();
153 void DeleteDecoder();
154 void ConnectToBuses();
156 int32 NumBuffersQeueued;
170 int32 NumPrecacheFrames;
175 uint64 AsyncTaskStartTimeInCycles=0;
177#if ENABLE_AUDIO_DEBUG
178 int32 SampleRate = 0;
183 std::atomic<float> RelativeRenderCost = 1.0f;
190 uint32 bBufferFinished : 1;
191 uint32 bPlayedCachedBuffer : 1;
196 uint32 bForceSyncDecode : 1;
198 uint32 bDirectRendering : 1;
201 virtual bool OnIsReadyForFinishDestroy(
class USoundWave*
Wave)
const override;
ELoopingMode
Definition Audio.h:97
@ LOOP_Never
Definition Audio.h:99
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition AudioMixerBuffer.h:28
Definition AudioMixerSourceBuffer.h:69
void OnBufferEnd()
Definition AudioMixerSourceBuffer.cpp:206
int32 GetNumBuffersQueued() const
Definition AudioMixerSourceBuffer.cpp:234
void EnsureAsyncTaskFinishes()
Definition AudioMixerSourceBuffer.cpp:774
void ClearWave()
Definition AudioMixerSourceBuffer.h:132
uint64 GetInstanceID() const
Definition AudioMixerSourceBuffer.cpp:718
bool DidBufferLoop() const
Definition AudioMixerSourceBuffer.h:96
bool IsEndOfAudio() const
Definition AudioMixerSourceBuffer.cpp:653
bool IsAsyncTaskDone() const
Definition AudioMixerSourceBuffer.cpp:708
void GetDiagnosticState(FDiagnosticState &OutState)
Definition AudioMixerSourceBuffer.cpp:763
bool DidBufferFinish() const
Definition AudioMixerSourceBuffer.h:99
bool ReadMoreRealtimeData(ICompressedAudioInfo *InDecoder, int32 BufferIndex, EBufferReadMode BufferReadMode)
Definition AudioMixerSourceBuffer.cpp:447
bool IsAsyncTaskInProgress() const
Definition AudioMixerSourceBuffer.cpp:702
float GetRelativeRenderCost() const
Definition AudioMixerSourceBuffer.cpp:723
TSharedPtr< FAlignedFloatBuffer, ESPMode::ThreadSafe > GetNextBuffer()
Definition AudioMixerSourceBuffer.cpp:245
void FinishProceduralRendering(const FProceduralAudioTaskResults &TaskResult)
Definition AudioMixerSourceBuffer.cpp:335
void DoProceduralRendering(const FProceduralAudioTaskData &ProceduralTaskData, FProceduralAudioTaskResults &ProceduralResult)
Definition AudioMixerSourceBuffer.cpp:284
~FMixerSourceBuffer()
Definition AudioMixerSourceBuffer.cpp:139
void OnBeginGenerate()
Definition AudioMixerSourceBuffer.cpp:786
void SetCachedRealtimeFirstBuffers(TArray< uint8 > &&InPrecachedBuffer)
Definition AudioMixerSourceBuffer.cpp:172
bool Init()
Definition AudioMixerSourceBuffer.cpp:177
void SetDecoder(ICompressedAudioInfo *InCompressedAudioInfo)
Definition AudioMixerSourceBuffer.cpp:158
void SetPCMData(const FRawPCMDataBuffer &InPCMDataBuffer)
Definition AudioMixerSourceBuffer.cpp:166
void OnEndGenerate()
Definition AudioMixerSourceBuffer.cpp:808
Definition AudioMixerSourceDecode.h:156
Definition NameTypes.h:617
Definition AudioDecompress.h:31
Definition ArrayView.h:139
Definition SharedPointer.h:692
Definition SoundWave.h:417
Type
Definition AudioMixerBuffer.h:14
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
EBufferReadMode
Definition AudioMixerSourceBuffer.h:41
@ AsynchronousSkipFirstFrame
uint32 FDeviceId
Definition AudioDefines.h:66
int32 DirectProceduralRenderingCVar
Definition AudioMixerSourceBuffer.cpp:12
Definition AudioMixerSourceBuffer.h:52
uint64 InstanceID
Definition AudioMixerSourceBuffer.h:55
FDeviceId AudioDeviceID
Definition AudioMixerSourceBuffer.h:53
ELoopingMode LoopingMode
Definition AudioMixerSourceBuffer.h:60
uint64 AudioComponentID
Definition AudioMixerSourceBuffer.h:54
USoundWave * SoundWave
Definition AudioMixerSourceBuffer.h:59
bool bIsSeeking
Definition AudioMixerSourceBuffer.h:62
bool bForceSyncDecode
Definition AudioMixerSourceBuffer.h:63
bool bIsPreviewSound
Definition AudioMixerSourceBuffer.h:64
int32 SampleRate
Definition AudioMixerSourceBuffer.h:56
float StartTime
Definition AudioMixerSourceBuffer.h:61
int32 AudioMixerNumOutputFrames
Definition AudioMixerSourceBuffer.h:57
FMixerBuffer * Buffer
Definition AudioMixerSourceBuffer.h:58
Definition AudioMixerSourceBuffer.h:118
float RunTimeInSecs
Definition AudioMixerSourceBuffer.h:120
FName WaveName
Definition AudioMixerSourceBuffer.h:119
bool bProcedural
Definition AudioMixerSourceBuffer.h:122
bool bInFlight
Definition AudioMixerSourceBuffer.h:121
Definition AudioMixerSourceDecode.h:21
Definition AudioMixerSourceDecode.h:106
Definition AudioMixerSourceBuffer.h:21
int32 LoopCount
Definition AudioMixerSourceBuffer.h:24
uint8 * Data
Definition AudioMixerSourceBuffer.h:22
FRawPCMDataBuffer()
Definition AudioMixerSourceBuffer.h:30
uint32 NumSamples
Definition AudioMixerSourceBuffer.h:26
bool GetNextBuffer(TArrayView< float > OutSourceBufferPtr, const uint32 NumSampleToGet)
Definition AudioMixerSourceBuffer.cpp:21
uint32 DataSize
Definition AudioMixerSourceBuffer.h:23
uint32 CurrentSample
Definition AudioMixerSourceBuffer.h:25
Definition SoundWave.h:406