UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Audio::FAudioMixerWasapiRenderStream Class Reference

#include <AudioMixerWasapiRenderStream.h>

+ Inheritance diagram for Audio::FAudioMixerWasapiRenderStream:

Public Member Functions

 FAudioMixerWasapiRenderStream ()
 
virtual ~FAudioMixerWasapiRenderStream ()
 
virtual bool InitializeHardware (const FWasapiRenderStreamParams &InParams)
 
virtual bool TeardownHardware ()
 
virtual bool IsInitialized () const
 
virtual int32 GetNumFrames (const int32 InNumRequestedFrames) const
 
virtual bool OpenAudioStream (const FWasapiRenderStreamParams &InParams, HANDLE InEventHandle)
 
virtual bool CloseAudioStream ()
 
virtual bool StartAudioStream ()
 
virtual bool StopAudioStream ()
 
virtual void SubmitBuffer (const uint8 *Buffer, const SIZE_T InNumFrames)
 
virtual void SubmitDirectOutBuffer (const int32 InChannelIndex, const FAlignedFloatBuffer &InBuffer)
 
 UE_DEPRECATED (5.7, "GetMinimumBufferSize() is deprecated. Please use GetDefaultDevicePeriod() in the future.") static uint32 GetMinimumBufferSize(const uint32 InSampleRate)
 
- Public Member Functions inherited from Audio::IDeviceRenderCallback
virtual ~IDeviceRenderCallback ()=default
 
virtual void DeviceRenderCallback ()=0
 

Protected Member Functions

uint32 GetDefaultDevicePeriod () const
 

Protected Attributes

TComPtr< IAudioClient2AudioClient
 
TComPtr< IAudioRenderClientRenderClient
 
FWasapiAudioFormat AudioFormat
 
std::atomic< boolbIsInitialized = false
 
std::atomic< EAudioOutputStreamState::TypeStreamState = EAudioOutputStreamState::Closed
 
FWasapiRenderStreamParams RenderStreamParams
 
uint32 DefaultDevicePeriod = 0
 
uint32 NumFramesPerDeviceBuffer = 0
 
uint32 CallbackBufferErrors = 0
 
FAlignedFloatBuffer DownmixScratchBuffer
 
TArray< floatMixdownGainsMap
 

Detailed Description

Constructor & Destructor Documentation

◆ FAudioMixerWasapiRenderStream()

Audio::FAudioMixerWasapiRenderStream::FAudioMixerWasapiRenderStream ( )

◆ ~FAudioMixerWasapiRenderStream()

Audio::FAudioMixerWasapiRenderStream::~FAudioMixerWasapiRenderStream ( )
virtual

Member Function Documentation

◆ CloseAudioStream()

bool Audio::FAudioMixerWasapiRenderStream::CloseAudioStream ( )
virtual

◆ GetDefaultDevicePeriod()

uint32 Audio::FAudioMixerWasapiRenderStream::GetDefaultDevicePeriod ( ) const
inlineprotected

Returns the default callback period for as reported by the device.

◆ GetNumFrames()

int32 Audio::FAudioMixerWasapiRenderStream::GetNumFrames ( const int32  InNumRequestedFrames) const
virtual

◆ InitializeHardware()

bool Audio::FAudioMixerWasapiRenderStream::InitializeHardware ( const FWasapiRenderStreamParams InParams)
virtual

◆ IsInitialized()

bool Audio::FAudioMixerWasapiRenderStream::IsInitialized ( ) const
virtual

◆ OpenAudioStream()

bool Audio::FAudioMixerWasapiRenderStream::OpenAudioStream ( const FWasapiRenderStreamParams InParams,
HANDLE  InEventHandle 
)
virtual

◆ StartAudioStream()

bool Audio::FAudioMixerWasapiRenderStream::StartAudioStream ( )
virtual

◆ StopAudioStream()

bool Audio::FAudioMixerWasapiRenderStream::StopAudioStream ( )
virtual

◆ SubmitBuffer()

virtual void Audio::FAudioMixerWasapiRenderStream::SubmitBuffer ( const uint8 Buffer,
const SIZE_T  InNumFrames 
)
inlinevirtual

◆ SubmitDirectOutBuffer()

virtual void Audio::FAudioMixerWasapiRenderStream::SubmitDirectOutBuffer ( const int32  InChannelIndex,
const FAlignedFloatBuffer InBuffer 
)
inlinevirtual

◆ TeardownHardware()

bool Audio::FAudioMixerWasapiRenderStream::TeardownHardware ( )
virtual

◆ UE_DEPRECATED()

Audio::FAudioMixerWasapiRenderStream::UE_DEPRECATED ( 5.  7,
"GetMinimumBufferSize() is deprecated. Please use GetDefaultDevicePeriod() in the future."   
) const

Member Data Documentation

◆ AudioClient

TComPtr<IAudioClient2> Audio::FAudioMixerWasapiRenderStream::AudioClient
protected

COM pointer to the WASAPI audio client object.

◆ AudioFormat

FWasapiAudioFormat Audio::FAudioMixerWasapiRenderStream::AudioFormat
protected

Holds the audio format configuration for this stream.

◆ bIsInitialized

std::atomic<bool> Audio::FAudioMixerWasapiRenderStream::bIsInitialized = false
protected

Indicates if this object has been successfully initialized.

◆ CallbackBufferErrors

uint32 Audio::FAudioMixerWasapiRenderStream::CallbackBufferErrors = 0
protected

Accumulates errors that occur in the audio callback.

◆ DefaultDevicePeriod

uint32 Audio::FAudioMixerWasapiRenderStream::DefaultDevicePeriod = 0
protected

The default callback period for this WASAPI render device.

◆ DownmixScratchBuffer

FAlignedFloatBuffer Audio::FAudioMixerWasapiRenderStream::DownmixScratchBuffer
protected

Scratch buffer used for downmixing output.

◆ MixdownGainsMap

TArray<float> Audio::FAudioMixerWasapiRenderStream::MixdownGainsMap
protected

Per-channel gains used when downmixing.

◆ NumFramesPerDeviceBuffer

uint32 Audio::FAudioMixerWasapiRenderStream::NumFramesPerDeviceBuffer = 0
protected

Number of frames of audio data which will be used for each audio callback. This value is determined by the WASAPI audio client and can be equal or greater than the number of frames requested.

◆ RenderClient

TComPtr<IAudioRenderClient> Audio::FAudioMixerWasapiRenderStream::RenderClient
protected

COM pointer to the WASAPI render client object.

◆ RenderStreamParams

FWasapiRenderStreamParams Audio::FAudioMixerWasapiRenderStream::RenderStreamParams
protected

Render output device info.

◆ StreamState

std::atomic<EAudioOutputStreamState::Type> Audio::FAudioMixerWasapiRenderStream::StreamState = EAudioOutputStreamState::Closed
protected

The state of the output audio stream.


The documentation for this class was generated from the following files: