ISoundfieldFactory

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

AudioExtensions

Header

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

Include

#include "ISoundfieldFormat.h"

Syntax

class ISoundfieldFactory : public IModularFeature

Destructors

Name Description

Public function Virtual

~ISoundfieldFactory()

Virtual destructor

Functions

Name Description

Public function

bool

 

CanTranscodeFromSoundfieldFormat

(
    FName SourceFormat,
    const ISoundfieldEncodingSettingsPr...
)

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

Public function

bool

 

CanTranscodeToSoundfieldFormat

(
    FName DestinationFormat,
    const ISoundfieldEncodingSettingsPr...
)

Public function

TUniquePtr< ...

 

CreateDecoderStream

(
    const FAudioPluginInitializationPar...,
    const ISoundfieldEncodingSettingsPr...
)

Public function

TUniquePtr< ...

 

CreateEmptyPacket()

Public function

TUniquePtr< ...

 

CreateEncoderStream

(
    const FAudioPluginInitializationPar...,
    const ISoundfieldEncodingSettingsPr...
)

Called when a stream is opened.

Public function

TUniquePtr< ...

 

CreateMixerStream

(
    const ISoundfieldEncodingSettingsPr...
)

Public function

TUniquePtr< ...

 

CreateTranscoderStream

(
    const FName SourceFormat,
    const ISoundfieldEncodingSettingsPr...,
    const FName DestinationFormat,
    const ISoundfieldEncodingSettingsPr...,
    const FAudioPluginInitializationPar...
)

Transcoder streams are fed a soundfield audio packet with either a different format entirely, or the same format and different settings.

Public function Static

ISoundfieldF...

 

Get

(
    const FName& InName
)

Get a registered soundfield format factory by name.

Public function Static

TArray< FNam...

 

GetAvailableSoundfieldFormats()

Public function Virtual Const

UClass *

 

GetCustomEncodingSettingsClass()

Should return the StaticClass of your implementation of USoundfieldEncodingSettingsBase.

Public function

const USound...

 

GetDefaultEncodingSettings()

Public function Static

FName

 

GetFormatNameForInheritedEncoding()

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

Public function Static

FName

 

GetFormatNameForNoEncoding()

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

Public function Static

FName

 

GetModularFeatureName()

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

Public function

FName

 

GetSoundfieldFormatName()

Get soundfield format name

Public function Virtual

bool

 

IsEndpointFormat()

This is overridden to return true for soundfield formats that are only used for sending audio externally.

Public function Virtual

bool

 

IsTranscodeRequiredBetweenSettings

(
    const ISoundfieldEncodingSettingsPr...,
    const ISoundfieldEncodingSettingsPr...
)

Override this function to determine whether an incoming ISoundfieldPacket would need to be explicitly operated on between two submixes with the same format, but potentially different encoding settings.

Public function Static

void

 

RegisterSoundfieldFormat

(
    ISoundfieldFactory* InFactory
)

This needs to be called to make a soundfield format usable by the engine.

Public function Virtual

bool

 

ShouldEncodeAllStreamsIndependently

(
    const ISoundfieldEncodingSettingsPr...
)

If this is overridden to true, we will set up a separate encoding stream for every submix plugged into this soundfield submix.

Public function Static

void

 

UnregisterSoundfieldFormat

(
    ISoundfieldFactory* InFactory
)

This needs to be called it an implementation of ISoundfieldFactory is about to be destroyed.