UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IBufferedAudioOutput.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
7
8class FAudioDevice;
9
24
31{
32protected:
34
35public:
36 virtual ~IBufferedAudioOutput() = default;
37
42 {
46
47 bool operator==(const FBufferFormat& InRhs) const
48 {
49 return InRhs.NumChannels == NumChannels &&
50 InRhs.NumSamplesPerBlock == NumSamplesPerBlock &&
51 InRhs.NumSamplesPerSec == NumSamplesPerSec;
52 }
53 };
54
55 // Delegates.
58
63 {
65 };
66
67 // Delegates.
70
71 virtual bool Start(FAudioDevice* InAudioDevice) = 0;
72 virtual void Stop(FAudioDevice* InAudioDevice) = 0;
73
84
90 virtual bool GetFormat(FBufferFormat& OutFormat) const = 0;
91
98
99 virtual IPushableAudioOutput* GetPushableInterface() { return nullptr; }
100 virtual const IPushableAudioOutput* GetPushableInterface() const { return nullptr; }
101};
102
105
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition AudioDevice.h:417
Definition IBufferedAudioOutput.h:31
virtual ~IBufferedAudioOutput()=default
virtual bool Start(FAudioDevice *InAudioDevice)=0
virtual void Stop(FAudioDevice *InAudioDevice)=0
virtual bool GetFormat(FBufferFormat &OutFormat) const =0
DECLARE_DELEGATE_OneParam(FOnFormatKnown, FBufferFormat)
IBufferedAudioOutput()=default
DECLARE_DELEGATE_OneParam(FOnBufferStreamEnd, FBufferStreamEnd)
virtual void SetBufferStreamEndDelegate(FOnBufferStreamEnd InBufferStreamEndDelegate)=0
virtual const IPushableAudioOutput * GetPushableInterface() const
Definition IBufferedAudioOutput.h:100
virtual bool PopBuffer(float *InBuffer, int32 InBufferSizeInSamples, int32 &OutSamplesWritten)=0
virtual void Reserve(int32 InNumSamplesToReserve, int32 InNumSamplesOfSilence=0)=0
virtual void SetFormatKnownDelegate(FOnFormatKnown InFormatKnownDelegate)=0
virtual IPushableAudioOutput * GetPushableInterface()
Definition IBufferedAudioOutput.h:99
Definition IBufferedAudioOutput.h:11
virtual void PushNewBuffer(const FOnNewBufferParams &)=0
virtual void LastBuffer(int32 InId)=0
Definition SharedPointer.h:692
Definition SharedPointer.h:1295
Definition IBufferedAudioOutput.h:42
int32 NumSamplesPerSec
Definition IBufferedAudioOutput.h:45
bool operator==(const FBufferFormat &InRhs) const
Definition IBufferedAudioOutput.h:47
int32 NumChannels
Definition IBufferedAudioOutput.h:44
int32 NumSamplesPerBlock
Definition IBufferedAudioOutput.h:43
Definition IBufferedAudioOutput.h:63
int32 Id
Definition IBufferedAudioOutput.h:64
Definition IBufferedAudioOutput.h:14
int32 NumSamples
Definition IBufferedAudioOutput.h:17
int32 NumChannels
Definition IBufferedAudioOutput.h:18
const float * AudioData
Definition IBufferedAudioOutput.h:15
int32 SampleRate
Definition IBufferedAudioOutput.h:19
int32 Id
Definition IBufferedAudioOutput.h:16