Navigation
API > API/Runtime > API/Runtime/SignalProcessing
This class locks an input buffer (for writing) and an output buffer (for reading). Uses triple buffering semantics.
| Name | FSpectrumAnalyzerBuffer |
| Type | class |
| Header File | /Engine/Source/Runtime/SignalProcessing/Public/DSP/SpectrumAnalyzer.h |
| Include Path | #include "DSP/SpectrumAnalyzer.h" |
Syntax
class FSpectrumAnalyzerBuffer
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| DSP/SpectrumAnalyzer.h | |||
FSpectrumAnalyzerBuffer
(
int32 InNum |
DSP/SpectrumAnalyzer.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BufferIndicesCriticalSection | FCriticalSection | This mutex is locked when we increment either the input or output index. | DSP/SpectrumAnalyzer.h | |
| ComplexBuffers | TArray< FAlignedFloatBuffer > | DSP/SpectrumAnalyzer.h | ||
| InputIndex | volatile int32 | DSP/SpectrumAnalyzer.h | ||
| OutputIndex | volatile int32 | DSP/SpectrumAnalyzer.h | ||
| Timestamps | TArray< double > | DSP/SpectrumAnalyzer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FAlignedFloatBuffer & LockMostRecentBuffer () |
Output. Used to lock the most recent buffer we analyzed. | DSP/SpectrumAnalyzer.h | |
const FAlignedFloatBuffer & LockMostRecentBuffer
(
double& OutTimestamp |
Output. | DSP/SpectrumAnalyzer.h | |
void Reset
(
int32 InNum |
DSP/SpectrumAnalyzer.h | ||
FAlignedFloatBuffer & StartWorkOnBuffer() |
Input. Used on analysis thread to lock a buffer to write to. | DSP/SpectrumAnalyzer.h | |
void StopWorkOnBuffer
(
double InTimestamp |
When calling stop work on buffer, also set timestmap associated with buffer. | DSP/SpectrumAnalyzer.h | |
void UnlockBuffer() |
DSP/SpectrumAnalyzer.h |