9#include "Misc/Optional.h"
60 return Buffer.
Num() -
Num();
78 for(
int32 i=0; i < CanPop; ++i)
80 OutBuffer[i] = Dequeue();
103 void Enqueue(
const float InFloat)
156 mutable FRWLock FormatKnownRwLock;
165 std::atomic<bool> bStarted;
168 std::atomic<bool> bStopping;
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
FRWLock Lock
Definition UnversionedPropertySerialization.cpp:921
Definition BufferedListenerBase.h:116
AUDIOLINKENGINE_API bool TryUnsetStartedFlag()
Definition BufferedListenerBase.cpp:129
AUDIOLINKENGINE_API bool GetFormat(IBufferedAudioOutput::FBufferFormat &OutFormat) const override
Definition BufferedListenerBase.cpp:25
AUDIOLINKENGINE_API void OnBufferReceived(const FBufferFormat &InFormat, TArrayView< const float > InBuffer)
Definition BufferedListenerBase.cpp:42
void SetBufferStreamEndDelegate(FOnBufferStreamEnd) override
Definition BufferedListenerBase.h:126
AUDIOLINKENGINE_API void SetFormatKnownDelegate(FOnFormatKnown InFormatKnownDelegate) override
Definition BufferedListenerBase.cpp:36
virtual ~FBufferedListenerBase()=default
AUDIOLINKENGINE_API void ResetFormat()
Definition BufferedListenerBase.cpp:104
AUDIOLINKENGINE_API void Reserve(int32 InNumSamplesToReserve, int32 InNumSamplesOfSilence) override
Definition BufferedListenerBase.cpp:149
AUDIOLINKENGINE_API bool IsStartedNonAtomic() const
Definition BufferedListenerBase.cpp:116
AUDIOLINKENGINE_API bool PopBuffer(float *InBuffer, int32 InBufferSizeInSamples, int32 &OutSamplesWritten) override
Definition BufferedListenerBase.cpp:13
AUDIOLINKENGINE_API bool TrySetStartedFlag()
Definition BufferedListenerBase.cpp:121
AUDIOLINKENGINE_API bool TrySetStoppingFlag()
Definition BufferedListenerBase.cpp:137
AUDIOLINKENGINE_API void SetFormat(const FBufferFormat &InFormat)
Definition BufferedListenerBase.cpp:110
Definition BufferedListenerBase.h:16
FCriticalSection & GetCriticialSection()
Definition BufferedListenerBase.h:24
int32 Pop(float *OutBuffer, int32 InNumSamples)
Definition BufferedListenerBase.h:74
int32 PushZeros(int32 InNumSamplesOfSilence)
Definition BufferedListenerBase.h:85
int32 Remainder() const
Definition BufferedListenerBase.h:57
int32 GetCapacity() const
Definition BufferedListenerBase.h:45
int32 Num() const
Definition BufferedListenerBase.h:50
const FCriticalSection & GetCriticialSection() const
Definition BufferedListenerBase.h:25
FLockingCircularSampleBuffer(int32 InInitialCapacity)
Definition BufferedListenerBase.h:18
int32 Push(const float *InBuffer, int32 InSize)
Definition BufferedListenerBase.h:63
void SetCapacity(int32 InCapacity)
Definition BufferedListenerBase.h:28
Definition ScopeLock.h:141
Definition IBufferedAudioOutput.h:31
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void SetNumZeroed(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2340
constexpr uint32 Read
Definition MassProcessorDependencySolver.h:21
@ Mask
Definition SProgressBar.h:54
static constexpr UE_FORCEINLINE_HINT bool IsPowerOfTwo(T Value)
Definition UnrealMathUtility.h:519
Definition Optional.h:131