16#define AUDIO_SOURCE_DECODER_DEBUG 0
21 class FMixerSourceBuffer;
70 bool IsFinished()
const {
return !bInitialized || SourceInfo.bIsLastBuffer; }
124 bool bForceSyncDecode{
false};
130 int32 NumSourceChannels;
139 uint32 NumFramesGenerated;
142 float CurrentFrameAlpha;
145 int32 CurrentFrameIndex;
148 int32 CurrentAudioChunkNumFrames;
151 float BasePitchScale;
185 : NumSourceChannels(0)
188 , NumFramesGenerated(0)
189 , CurrentFrameAlpha(0.0f)
190 , CurrentFrameIndex(0)
191 , CurrentAudioChunkNumFrames(0)
192 , BasePitchScale(1.0f)
195 , VolumeResetFrame(0)
198 , bIsLastBuffer(
false)
203 FSourceInfo SourceInfo;
205#if AUDIO_SOURCE_DECODER_DEBUG
223 return TEXT(
"Audio::FSoundSourceDecoder");
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
void Init()
Definition LockFreeList.h:4
Definition SoundWaveDecoder.h:52
TObjectPtr< USoundWave > & GetSoundWavePtr()
Definition SoundWaveDecoder.h:87
bool IsReadyToInit()
Definition SoundWaveDecoder.cpp:84
bool GetAudioBuffer(const int32 InNumFrames, const int32 InNumChannels, FAlignedFloatBuffer &OutAudioBuffer)
Definition SoundWaveDecoder.cpp:368
void SetVolumeScale(float InVolumeScale, uint32 NumFrames=512)
Definition SoundWaveDecoder.cpp:172
USoundWave * GetSoundWave()
Definition SoundWaveDecoder.h:85
bool PreInit(int32 OutputSampleRate)
Definition SoundWaveDecoder.cpp:46
void SetForceSyncDecode(bool bShouldForceSyncDecode)
Definition SoundWaveDecoder.cpp:178
~FDecodingSoundSource()
Definition SoundWaveDecoder.cpp:35
void SetPitchScale(float InPitchScale, uint32 NumFrames=512)
Definition SoundWaveDecoder.cpp:166
bool IsInitialized() const
Definition SoundWaveDecoder.h:67
void Init()
Definition SoundWaveDecoder.cpp:130
bool IsFinished() const
Definition SoundWaveDecoder.h:70
Definition AudioMixerBuffer.h:28
Definition SoundWaveDecoder.h:214
AUDIOMIXER_API FSoundSourceDecoder()
Definition SoundWaveDecoder.cpp:432
AUDIOMIXER_API void Update()
Definition SoundWaveDecoder.cpp:607
AUDIOMIXER_API void UpdateRenderThread()
Definition SoundWaveDecoder.cpp:653
virtual AUDIOMIXER_API void AddReferencedObjects(FReferenceCollector &Collector) override
Definition SoundWaveDecoder.cpp:444
AUDIOMIXER_API bool GetSourceBuffer(const FDecodingSoundSourceHandle &InHandle, const int32 NumOutFrames, const int32 NumOutChannels, FAlignedFloatBuffer &OutAudioBuffer)
Definition SoundWaveDecoder.cpp:685
AUDIOMIXER_API FDecodingSoundSourceHandle CreateSourceHandle(USoundWave *InSoundWave)
Definition SoundWaveDecoder.cpp:472
AUDIOMIXER_API bool InitDecodingSource(const FSourceDecodeInit &InitData)
Definition SoundWaveDecoder.cpp:524
AUDIOMIXER_API void Reset()
Definition SoundWaveDecoder.cpp:580
virtual AUDIOMIXER_API ~FSoundSourceDecoder()
Definition SoundWaveDecoder.cpp:439
virtual FString GetReferencerName() const override
Definition SoundWaveDecoder.h:221
AUDIOMIXER_API void RemoveDecodingSource(const FDecodingSoundSourceHandle &Handle)
Definition SoundWaveDecoder.cpp:574
AUDIOMIXER_API void SetSourcePitchScale(const FDecodingSoundSourceHandle &Handle, float InPitchScale)
Definition SoundWaveDecoder.cpp:591
AUDIOMIXER_API bool IsFinished(const FDecodingSoundSourceHandle &InHandle) const
Definition SoundWaveDecoder.cpp:658
AUDIOMIXER_API void SetSourceVolumeScale(const FDecodingSoundSourceHandle &Handle, float InVolumeScale)
Definition SoundWaveDecoder.cpp:596
Definition AudioDevice.h:417
Definition GCObject.h:128
Definition NameTypes.h:617
Definition UObjectGlobals.h:2492
Definition ThreadSafeBool.h:17
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SoundWave.h:417
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
TSharedPtr< FDecodingSoundSource > FDecodingSoundSourcePtr
Definition SoundWaveDecoder.h:211
uint32 FDeviceId
Definition AudioDefines.h:66
@ false
Definition radaudio_common.h:23
Definition SoundWaveDecoder.h:24
FDecodingSoundSourceHandle()
Definition SoundWaveDecoder.h:25
int32 Id
Definition SoundWaveDecoder.h:29
FName SoundWaveName
Definition SoundWaveDecoder.h:30
Definition SoundWaveDecoder.h:34
float VolumeScale
Definition SoundWaveDecoder.h:46
float SeekTime
Definition SoundWaveDecoder.h:44
TObjectPtr< USoundWave > SoundWave
Definition SoundWaveDecoder.h:43
FSourceDecodeInit()
Definition SoundWaveDecoder.h:35
FDecodingSoundSourceHandle Handle
Definition SoundWaveDecoder.h:48
bool bForceSyncDecode
Definition SoundWaveDecoder.h:47
float PitchScale
Definition SoundWaveDecoder.h:45
Definition ObjectPtr.h:488