ISoundfieldEndpoint

Class that allows soundfield-encoded audio to be sent to an arbitrary locale.

Choose your operating system:

Windows

macOS

Linux

References

Module

AudioExtensions

Header

/Engine/Source/Runtime/AudioExtensions/Public/ISoundfieldEndpoint.h

Include

#include "ISoundfieldEndpoint.h"

Syntax

class ISoundfieldEndpoint

Remarks

Class that allows soundfield-encoded audio to be sent to an arbitrary locale. For endpoint types that support receiving our downmixed interleaved audio data directly, implement IAudioEndpoint instead.

Constructors

Name Description

Public function

ISoundfieldEndpoint

(
    int32 NumRenderCallbacksToBuffer
)

Destructors

Name Description

Public function Virtual

~ISoundfieldEndpoint()

Functions

Name Description

Protected function Virtual Const

bool

 

EndpointRequiresCallback()

OPTIONAL OVERRIDES: For endpoints that do not explicitly fire a timed callback to poll audio data, this should be overridden to return true, and OnAudioCallback and GetDesiredCallbackFrequency should be overridden.

Protected function Virtual Const

float

 

GetDesiredCallbackPeriodicity()

For endpoints that return true for EndpointRequiresCallback, this should return the duration between OnAudioCallback calls in seconds.

Public function

int32

 

GetNumPacketsBuffer()

Returns the amount of ISoundfieldAudioPackets currently buffered for this endpoint.

Public function

int32

 

GetRemainderInPacketBuffer()

Returns the amount of ISoundfieldAudioPackets that can be buffered for this endpoint before reaching capacity.

Protected function Virtual

void

 

OnAudioCallback

For endpoints that override EndpointRequiresCallback to return true, this callback will be called every (GetDesiredNumFrames() / GetSampleRate()) seconds.

Protected function

void

 

PollSettings

(
    TFunctionRef< void...
)

Use this as a thread safe way to use the current settings posted to this IAudioEndpoint.

Protected function

TUniquePtr< ...

 

PopAudio()

METHODS USED BY IMPLEMENTATIONS OF ISoundfieldEndpoint: This is used by the IAudioEndpoint implementation to poll buffered audio to process or send to the endpoint.

Public function

void

 

ProcessAudioIfNecessary()

If this endpoint hasn't created it's own async callback thread but still requires an explicit callback, this should be called.

Public function

bool

 

PushAudio

Push a soundfield packet to the buffer.

Protected function

void

 

RunCallbackSynchronously()

Public function

void

 

SetNewSettings

Post new settings for this endpoint.

Protected function

void

 

StartRunningCallback()

If EndpointRequiresCallback() returns true, this will be used to spawn an async thread and begin calling OnAudioCallback.

Protected function

void

 

StopRunningCallback()