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

#include <AudioMixerPlatformAudioLink.h>

+ Inheritance diagram for Audio::FAudioMixerPlatformAudioLink:

Public Member Functions

 FAudioMixerPlatformAudioLink ()
 
virtual ~FAudioMixerPlatformAudioLink ()=default
 
- Public Member Functions inherited from Audio::IAudioMixerPlatformInterface
virtual AUDIOMIXERCORE_API ~IAudioMixerPlatformInterface ()
 
virtual bool CheckAudioDeviceChange ()
 
virtual void ResumePlaybackOnNewDevice ()
 
virtual FString GetCurrentDeviceName () const
 
virtual AUDIOMIXERCORE_API int32 GetIndexForDevice (const FString &InDeviceName)
 
virtual bool MoveAudioStreamToNewAudioDevice (const FString &InNewDeviceId)
 
virtual bool MoveAudioStreamToNewAudioDevice ()
 
virtual bool RequestDeviceSwap (const FString &DeviceID, bool bInForce, const TCHAR *InReason=nullptr)
 
virtual void SubmitBuffer (const uint8 *Buffer)
 
virtual void SubmitDirectOutBuffer (const int32 InDirectOutIndex, const Audio::FAlignedFloatBuffer &InBuffer)
 
virtual int32 GetNumFrames (const int32 InNumReqestedFrames)
 
virtual bool DisablePCMAudioCaching () const
 
virtual bool SupportsHardwareDecompression () const
 
virtual bool IsNonRealtime () const
 
virtual void SuspendContext ()
 
virtual void ResumeContext ()
 
virtual void OnHardwareUpdate ()
 
virtual IAudioPlatformDeviceInfoCacheGetDeviceInfoCache () const
 
virtual bool IsDeviceInfoValid (const FAudioPlatformDeviceInfo &InDeviceInfo) const
 
virtual bool ShouldUseDeviceInfoCache () const
 
AUDIOMIXERCORE_API uint32 Run () override
 
virtual class FSingleThreadRunnableGetSingleThreadInterface () override
 
virtual AUDIOMIXERCORE_API void Tick () override
 
AUDIOMIXERCORE_API IAudioMixerPlatformInterface ()
 
AUDIOMIXERCORE_API void ReadNextBuffer ()
 
virtual AUDIOMIXERCORE_API void FadeIn ()
 
virtual AUDIOMIXERCORE_API void FadeOut ()
 
FString GetLastError () const
 
AUDIOMIXERCORE_API void PostInitializeHardware ()
 
bool GetIsListeningForDeviceEvents () const
 
void SetIsListeningForDeviceEvents (bool bInListeningForDeviceEvents)
 
- Public Member Functions inherited from FRunnable
virtual bool Init ()
 
virtual void Stop ()
 
virtual void Exit ()
 
virtual ~FRunnable ()
 
- Public Member Functions inherited from FSingleThreadRunnable
virtual ~FSingleThreadRunnable ()
 
- Public Member Functions inherited from Audio::IAudioMixerDeviceChangedListener
virtual ~IAudioMixerDeviceChangedListener ()=default
 
virtual void RegisterDeviceChangedListener ()
 
virtual void UnregisterDeviceChangedListener ()
 
virtual void OnDefaultCaptureDeviceChanged (const EAudioDeviceRole InAudioDeviceRole, const FString &DeviceId)
 
virtual void OnDefaultRenderDeviceChanged (const EAudioDeviceRole InAudioDeviceRole, const FString &DeviceId)
 
virtual void OnDeviceAdded (const FString &DeviceId, bool bIsRenderDevice)
 
virtual void OnDeviceRemoved (const FString &DeviceId, bool bIsRenderDevice)
 
virtual void OnDeviceStateChanged (const FString &DeviceId, const EAudioDeviceState InState, bool bIsRenderDevice)
 
virtual void OnFormatChanged (const FString &InDeviceId, const FFormatChangedData &InFormat)
 
virtual void OnSessionDisconnect (EDisconnectReason InReason)
 
virtual FString GetDeviceId () const
 

Protected Member Functions

FString GetPlatformApi () const override
 
bool InitializeHardware () override
 
bool TeardownHardware () override
 
bool IsInitialized () const override
 
bool GetNumOutputDevices (uint32 &OutNumOutputDevices) override
 
bool GetOutputDeviceInfo (const uint32 InDeviceIndex, FAudioPlatformDeviceInfo &OutInfo) override
 
bool GetDefaultOutputDeviceIndex (uint32 &OutDefaultDeviceIndex) const override
 
virtual bool OpenAudioStream (const FAudioMixerOpenStreamParams &Params) override
 
bool CloseAudioStream () override
 
bool StartAudioStream () override
 
bool StopAudioStream () override
 
FAudioPlatformDeviceInfo GetPlatformDeviceInfo () const override
 
FString GetDefaultDeviceName () override
 
FAudioPlatformSettings GetPlatformSettings () const override
 
- Protected Member Functions inherited from Audio::IAudioMixerPlatformInterface
AUDIOMIXERCORE_API uint32 MainAudioDeviceRun ()
 
virtual AUDIOMIXERCORE_API uint32 RunInternal ()
 
void AudioMixerPlatformLogOnce (const FString &LogDetails, const FString &FileName, int32 LineNumber, ELogVerbosity::Type InVerbosity=ELogVerbosity::Error)
 
AUDIOMIXERCORE_API void BeginGeneratingAudio ()
 
AUDIOMIXERCORE_API void StopGeneratingAudio ()
 
AUDIOMIXERCORE_API void ApplyMasterAttenuation (TArrayView< const uint8 > &InOutPoppedAudio)
 
AUDIOMIXERCORE_API void ApplyPrimaryAttenuation (TArrayView< const uint8 > &InOutPoppedAudio)
 
template<typename BufferType >
void ApplyAttenuationInternal (TArrayView< BufferType > &InOutBuffer)
 
AUDIOMIXERCORE_API void StartRunningNullDevice ()
 
AUDIOMIXERCORE_API void StopRunningNullDevice ()
 
AUDIOMIXERCORE_API void CreateNullDeviceThread (const TFunction< void()> InCallback, float InBufferDuration, bool bShouldPauseOnStart)
 

Additional Inherited Members

- Public Types inherited from Audio::IAudioMixerDeviceChangedListener
enum class  EDisconnectReason {
  DeviceRemoval , ServerShutdown , FormatChanged , SessionLogoff ,
  SessionDisconnected , ExclusiveModeOverride
}
 
- Static Public Member Functions inherited from Audio::IAudioMixerPlatformInterface
static AUDIOMIXERCORE_API bool GetChannelTypeAtIndex (const int32 Index, EAudioMixerChannel::Type &OutType)
 
- Protected Attributes inherited from Audio::IAudioMixerPlatformInterface
FAudioOutputStreamInfo AudioStreamInfo
 
FAudioMixerOpenStreamParams OpenStreamParams
 
Audio::FOutputBuffer OutputBuffer
 
bool bWarnedBufferUnderrun
 
TUniquePtr< FRunnableThreadAudioRenderThread
 
FEventAudioRenderEvent
 
FCriticalSection DeviceSwapCriticalSection
 
FThreadSafeBool bIsInDeviceSwap
 
FEventAudioFadeEvent
 
int32 NumOutputBuffers
 
float FadeVolume
 
FParam FadeParam
 
FString CurrentDeviceName
 
FString LastError
 
int32 CallCounterApplyAttenuationInternal { 0 }
 
int32 CallCounterReadNextBuffer { 0 }
 
FThreadSafeBool bPerformingFade
 
FThreadSafeBool bFadedOut
 
FThreadSafeBool bIsDeviceInitialized
 
FThreadSafeBool bMoveAudioStreamToNewAudioDevice
 
FThreadSafeBool bIsUsingNullDevice
 
FThreadSafeBool bIsGeneratingAudio
 
const int32 InstanceID { -1 }
 
- Static Protected Attributes inherited from Audio::IAudioMixerPlatformInterface
static AUDIOMIXERCORE_API FThreadSafeCounter NextInstanceID
 

Constructor & Destructor Documentation

◆ FAudioMixerPlatformAudioLink()

Audio::FAudioMixerPlatformAudioLink::FAudioMixerPlatformAudioLink ( )

◆ ~FAudioMixerPlatformAudioLink()

virtual Audio::FAudioMixerPlatformAudioLink::~FAudioMixerPlatformAudioLink ( )
virtualdefault

Member Function Documentation

◆ CloseAudioStream()

bool Audio::FAudioMixerPlatformAudioLink::CloseAudioStream ( )
overrideprotectedvirtual

Closes the audio stream (if it's open).

Implements Audio::IAudioMixerPlatformInterface.

◆ GetDefaultDeviceName()

FString Audio::FAudioMixerPlatformAudioLink::GetDefaultDeviceName ( )
overrideprotectedvirtual

Return any optional device name defined in platform configuratio.

Implements Audio::IAudioMixerPlatformInterface.

◆ GetDefaultOutputDeviceIndex()

bool Audio::FAudioMixerPlatformAudioLink::GetDefaultOutputDeviceIndex ( uint32 OutDefaultDeviceIndex) const
overrideprotectedvirtual

Returns the default device index.

Reimplemented from Audio::IAudioMixerPlatformInterface.

◆ GetNumOutputDevices()

bool Audio::FAudioMixerPlatformAudioLink::GetNumOutputDevices ( uint32 OutNumOutputDevices)
overrideprotectedvirtual

Returns the number of output devices.

Reimplemented from Audio::IAudioMixerPlatformInterface.

◆ GetOutputDeviceInfo()

bool Audio::FAudioMixerPlatformAudioLink::GetOutputDeviceInfo ( const uint32  InDeviceIndex,
FAudioPlatformDeviceInfo OutInfo 
)
overrideprotectedvirtual

Gets the device information of the given device index.

Implements Audio::IAudioMixerPlatformInterface.

◆ GetPlatformApi()

FString Audio::FAudioMixerPlatformAudioLink::GetPlatformApi ( ) const
inlineoverrideprotectedvirtual

Returns the platform API name.

Implements Audio::IAudioMixerPlatformInterface.

◆ GetPlatformDeviceInfo()

FAudioPlatformDeviceInfo Audio::FAudioMixerPlatformAudioLink::GetPlatformDeviceInfo ( ) const
overrideprotectedvirtual

Returns the platform device info of the currently open audio stream.

Implements Audio::IAudioMixerPlatformInterface.

◆ GetPlatformSettings()

FAudioPlatformSettings Audio::FAudioMixerPlatformAudioLink::GetPlatformSettings ( ) const
overrideprotectedvirtual

Gets the platform specific audio settings.

Implements Audio::IAudioMixerPlatformInterface.

◆ InitializeHardware()

bool Audio::FAudioMixerPlatformAudioLink::InitializeHardware ( )
overrideprotectedvirtual

Initialize the hardware.

Implements Audio::IAudioMixerPlatformInterface.

◆ IsInitialized()

bool Audio::FAudioMixerPlatformAudioLink::IsInitialized ( ) const
overrideprotectedvirtual

Is the hardware initialized.

Implements Audio::IAudioMixerPlatformInterface.

◆ OpenAudioStream()

bool Audio::FAudioMixerPlatformAudioLink::OpenAudioStream ( const FAudioMixerOpenStreamParams Params)
overrideprotectedvirtual

Opens up a new audio stream with the given parameters.

Implements Audio::IAudioMixerPlatformInterface.

◆ StartAudioStream()

bool Audio::FAudioMixerPlatformAudioLink::StartAudioStream ( )
overrideprotectedvirtual

Starts the audio stream processing and generating audio.

Implements Audio::IAudioMixerPlatformInterface.

◆ StopAudioStream()

bool Audio::FAudioMixerPlatformAudioLink::StopAudioStream ( )
overrideprotectedvirtual

Stops the audio stream (but keeps the audio stream open).

Implements Audio::IAudioMixerPlatformInterface.

◆ TeardownHardware()

bool Audio::FAudioMixerPlatformAudioLink::TeardownHardware ( )
overrideprotectedvirtual

Teardown the hardware.

Implements Audio::IAudioMixerPlatformInterface.


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