UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ISoundfieldFactory Class Referenceabstract

#include <ISoundfieldFormat.h>

+ Inheritance diagram for ISoundfieldFactory:

Public Member Functions

virtual ~ISoundfieldFactory ()
 
virtual FName GetSoundfieldFormatName ()=0
 
virtual TUniquePtr< ISoundfieldEncoderStreamCreateEncoderStream (const FAudioPluginInitializationParams &InitInfo, const ISoundfieldEncodingSettingsProxy &InitialSettings)=0
 
virtual TUniquePtr< ISoundfieldDecoderStreamCreateDecoderStream (const FAudioPluginInitializationParams &InitInfo, const ISoundfieldEncodingSettingsProxy &InitialSettings)=0
 
virtual TUniquePtr< ISoundfieldTranscodeStreamCreateTranscoderStream (const FName SourceFormat, const ISoundfieldEncodingSettingsProxy &InitialSourceSettings, const FName DestinationFormat, const ISoundfieldEncodingSettingsProxy &InitialDestinationSettings, const FAudioPluginInitializationParams &InitInfo)=0
 
virtual TUniquePtr< ISoundfieldMixerStreamCreateMixerStream (const ISoundfieldEncodingSettingsProxy &InitialSettings)=0
 
virtual TUniquePtr< ISoundfieldAudioPacketCreateEmptyPacket ()=0
 
virtual bool IsTranscodeRequiredBetweenSettings (const ISoundfieldEncodingSettingsProxy &SourceSettings, const ISoundfieldEncodingSettingsProxy &DestinationSettings)
 
virtual bool CanTranscodeFromSoundfieldFormat (FName SourceFormat, const ISoundfieldEncodingSettingsProxy &SourceEncodingSettings)=0
 
virtual bool CanTranscodeToSoundfieldFormat (FName DestinationFormat, const ISoundfieldEncodingSettingsProxy &DestinationEncodingSettings)=0
 
virtual bool ShouldEncodeAllStreamsIndependently (const ISoundfieldEncodingSettingsProxy &EncodingSettings)
 
virtual UClassGetCustomEncodingSettingsClass () const
 
virtual const USoundfieldEncodingSettingsBaseGetDefaultEncodingSettings ()=0
 
virtual bool IsEndpointFormat ()
 

Static Public Member Functions

static AUDIOEXTENSIONS_API FName GetFormatNameForNoEncoding ()
 
static AUDIOEXTENSIONS_API FName GetFormatNameForInheritedEncoding ()
 
static AUDIOEXTENSIONS_API FName GetModularFeatureName ()
 
static AUDIOEXTENSIONS_API void RegisterSoundfieldFormat (ISoundfieldFactory *InFactory)
 
static AUDIOEXTENSIONS_API void UnregisterSoundfieldFormat (ISoundfieldFactory *InFactory)
 
static AUDIOEXTENSIONS_API ISoundfieldFactoryGet (const FName &InName)
 
static AUDIOEXTENSIONS_API TArray< FNameGetAvailableSoundfieldFormats ()
 

Constructor & Destructor Documentation

◆ ~ISoundfieldFactory()

virtual ISoundfieldFactory::~ISoundfieldFactory ( )
inlinevirtual

Virtual destructor

Member Function Documentation

◆ CanTranscodeFromSoundfieldFormat()

virtual bool ISoundfieldFactory::CanTranscodeFromSoundfieldFormat ( FName  SourceFormat,
const ISoundfieldEncodingSettingsProxy SourceEncodingSettings 
)
pure virtual

Override this function to decide whether this soundfield format can read and convert from a source format.

◆ CanTranscodeToSoundfieldFormat()

virtual bool ISoundfieldFactory::CanTranscodeToSoundfieldFormat ( FName  DestinationFormat,
const ISoundfieldEncodingSettingsProxy DestinationEncodingSettings 
)
pure virtual

Implemented in ISoundfieldEndpointFactory.

◆ CreateDecoderStream()

virtual TUniquePtr< ISoundfieldDecoderStream > ISoundfieldFactory::CreateDecoderStream ( const FAudioPluginInitializationParams InitInfo,
const ISoundfieldEncodingSettingsProxy InitialSettings 
)
pure virtual

Implemented in ISoundfieldEndpointFactory.

◆ CreateEmptyPacket()

virtual TUniquePtr< ISoundfieldAudioPacket > ISoundfieldFactory::CreateEmptyPacket ( )
pure virtual

◆ CreateEncoderStream()

virtual TUniquePtr< ISoundfieldEncoderStream > ISoundfieldFactory::CreateEncoderStream ( const FAudioPluginInitializationParams InitInfo,
const ISoundfieldEncodingSettingsProxy InitialSettings 
)
pure virtual

Called when a stream is opened.

◆ CreateMixerStream()

virtual TUniquePtr< ISoundfieldMixerStream > ISoundfieldFactory::CreateMixerStream ( const ISoundfieldEncodingSettingsProxy InitialSettings)
pure virtual

◆ CreateTranscoderStream()

virtual TUniquePtr< ISoundfieldTranscodeStream > ISoundfieldFactory::CreateTranscoderStream ( const FName  SourceFormat,
const ISoundfieldEncodingSettingsProxy InitialSourceSettings,
const FName  DestinationFormat,
const ISoundfieldEncodingSettingsProxy InitialDestinationSettings,
const FAudioPluginInitializationParams InitInfo 
)
pure virtual

◆ Get()

ISoundfieldFactory * ISoundfieldFactory::Get ( const FName InName)
static

Get a registered soundfield format factory by name.

◆ GetAvailableSoundfieldFormats()

TArray< FName > ISoundfieldFactory::GetAvailableSoundfieldFormats ( )
static

◆ GetCustomEncodingSettingsClass()

virtual UClass * ISoundfieldFactory::GetCustomEncodingSettingsClass ( ) const
inlinevirtual

Should return the StaticClass of your implementation of USoundfieldEncodingSettingsBase.

◆ GetDefaultEncodingSettings()

virtual const USoundfieldEncodingSettingsBase * ISoundfieldFactory::GetDefaultEncodingSettings ( )
pure virtual

◆ GetFormatNameForInheritedEncoding()

FName ISoundfieldFactory::GetFormatNameForInheritedEncoding ( )
static

When a submix has this format name, it derives its format from the submix it sends audio to.

◆ GetFormatNameForNoEncoding()

FName ISoundfieldFactory::GetFormatNameForNoEncoding ( )
static

When a submix has this format name, it is using interleaved, floating point audio with no metadata.

◆ GetModularFeatureName()

FName ISoundfieldFactory::GetModularFeatureName ( )
static

This is the FName used to register Soundfield Format factories with the modular feature system.

◆ GetSoundfieldFormatName()

virtual FName ISoundfieldFactory::GetSoundfieldFormatName ( )
pure virtual

Get soundfield format name

Implemented in ISoundfieldEndpointFactory.

◆ IsEndpointFormat()

virtual bool ISoundfieldFactory::IsEndpointFormat ( )
inlinevirtual

This is overridden to return true for soundfield formats that are only used for sending audio externally. Rather than overriding this, consider implementing ISoundfieldEndpointFactory.

Reimplemented in ISoundfieldEndpointFactory.

◆ IsTranscodeRequiredBetweenSettings()

virtual bool ISoundfieldFactory::IsTranscodeRequiredBetweenSettings ( const ISoundfieldEncodingSettingsProxy SourceSettings,
const ISoundfieldEncodingSettingsProxy DestinationSettings 
)
inlinevirtual

◆ RegisterSoundfieldFormat()

void ISoundfieldFactory::RegisterSoundfieldFormat ( ISoundfieldFactory InFactory)
static

This needs to be called to make a soundfield format usable by the engine. It can be called from a ISoundfieldFactory subclass' constructor

◆ ShouldEncodeAllStreamsIndependently()

virtual bool ISoundfieldFactory::ShouldEncodeAllStreamsIndependently ( const ISoundfieldEncodingSettingsProxy EncodingSettings)
inlinevirtual

If this is overridden to true, we will set up a separate encoding stream for every submix plugged into this soundfield submix. Otherwise, we mix all non-soundfield submixes plugged into this soundfield submix together and use one encoding stream.

◆ UnregisterSoundfieldFormat()

void ISoundfieldFactory::UnregisterSoundfieldFormat ( ISoundfieldFactory InFactory)
static

This needs to be called it an implementation of ISoundfieldFactory is about to be destroyed. It can be called from the destructor of an implementation of ISoundfieldFactory.


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