80 std::atomic<int32> NumAliveInputs;
83 std::atomic<FEvent*> SamplesPushedEvent;
140 int32 PushCallsCounter = 0;
177 void ConnectNewPatches();
181 void CleanUpDisconnectedPatches();
226 void AddPendingPatches();
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define MAX_uint32
Definition NumericLimits.h:21
Definition MultithreadedPatching.h:240
SIGNALPROCESSING_API FPatchOutputStrongPtr AddNewOutput(int32 MaxLatencyInSamples, float InGain)
Definition MultithreadedPatching.cpp:652
SIGNALPROCESSING_API void ProcessAudio()
Definition MultithreadedPatching.cpp:677
SIGNALPROCESSING_API void RemovePatch(const FPatchInput &InInput)
Definition MultithreadedPatching.cpp:672
SIGNALPROCESSING_API FPatchInput AddNewInput(int32 MaxLatencyInSamples, float InGain)
Definition MultithreadedPatching.cpp:662
Definition MultithreadedPatching.h:149
SIGNALPROCESSING_API int32 Num()
Definition MultithreadedPatching.cpp:404
SIGNALPROCESSING_API void DisconnectAllInputs()
Definition MultithreadedPatching.cpp:487
SIGNALPROCESSING_API void RemovePatch(const FPatchInput &InPatchInput)
Definition MultithreadedPatching.cpp:373
SIGNALPROCESSING_API int32 PopAudio(float *OutBuffer, int32 OutNumSamples, bool bUseLatestAudio)
Definition MultithreadedPatching.cpp:385
SIGNALPROCESSING_API FPatchInput AddNewInput(int32 MaxLatencyInSamples, float InGain)
Definition MultithreadedPatching.cpp:353
SIGNALPROCESSING_API int32 MaxNumberOfSamplesThatCanBePopped()
Definition MultithreadedPatching.cpp:414
SIGNALPROCESSING_API bool WaitUntilNumSamplesAvailable(int32 NumSamples, uint32 TimeOutMilliseconds=MAX_uint32)
Definition MultithreadedPatching.cpp:440
Definition MultithreadedPatching.h:204
SIGNALPROCESSING_API int32 MaxNumberOfSamplesThatCanBePushed()
Definition MultithreadedPatching.cpp:595
SIGNALPROCESSING_API int32 Num()
Definition MultithreadedPatching.cpp:588
SIGNALPROCESSING_API FPatchOutputStrongPtr AddNewPatch(int32 MaxLatencyInSamples, float InGain)
Definition MultithreadedPatching.cpp:565
SIGNALPROCESSING_API int32 PushAudio(const float *InBuffer, int32 InNumSamples)
Definition MultithreadedPatching.cpp:625
Definition SharedPointer.h:692
Definition SharedPointer.h:1295
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
TWeakPtr< FPatchOutput, ESPMode::ThreadSafe > FPatchOutputWeakPtr
Definition MultithreadedPatching.h:90
TSharedPtr< FPatchOutput, ESPMode::ThreadSafe > FPatchOutputStrongPtr
Definition AudioDevice.h:69
Definition MultithreadedPatching.h:33
SIGNALPROCESSING_API bool IsInputStale() const
Definition MultithreadedPatching.cpp:87
SIGNALPROCESSING_API bool WaitUntilNumSamplesAvailable(int32 NumSamples, uint32 TimeOutMilliseconds=MAX_uint32)
Definition MultithreadedPatching.cpp:158
SIGNALPROCESSING_API int32 MixInAudio(float *OutBuffer, int32 NumSamples, bool bUseLatestAudio)
Definition MultithreadedPatching.cpp:115
virtual SIGNALPROCESSING_API ~FPatchOutput()
Definition MultithreadedPatching.cpp:45
SIGNALPROCESSING_API FPatchOutput()
Definition MultithreadedPatching.cpp:35
SIGNALPROCESSING_API int32 GetNumSamplesAvailable() const
Definition MultithreadedPatching.cpp:153
SIGNALPROCESSING_API int32 PopAudio(float *OutBuffer, int32 NumSamples, bool bUseLatestAudio)
Definition MultithreadedPatching.cpp:53