You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
cherrypick CL11395840 (Fix for Audio hang on exit)
#jira UE-87178 #rb ethan.geller aaron.mcleran #ROBOMERGE-SOURCE: CL 11963232 in //UE4/Release-4.25/... #ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v656-11643781) [CL 11963279 by jimmy smith in 4.25-Plus branch]
This commit is contained in:
@@ -65,6 +65,13 @@ FAutoConsoleVariableRef CVarUnderrunTimeout(
|
||||
TEXT("Amount of time to wait for the render thread to generate the next buffer before submitting an underrun buffer. \n"),
|
||||
ECVF_Default);
|
||||
|
||||
static int32 FadeoutTimeoutCVar = 2000;
|
||||
FAutoConsoleVariableRef CVarFadeoutTimeout(
|
||||
TEXT("au.FadeOutTimeoutMSec"),
|
||||
FadeoutTimeoutCVar,
|
||||
TEXT("Amount of time to wait for the FadeOut Event to fire. \n"),
|
||||
ECVF_Default);
|
||||
|
||||
static float LinearGainScalarForFinalOututCVar = 1.0f;
|
||||
FAutoConsoleVariableRef LinearGainScalarForFinalOutut(
|
||||
TEXT("au.LinearGainScalarForFinalOutut"),
|
||||
@@ -344,8 +351,11 @@ namespace Audio
|
||||
|
||||
bPerformingFade = true;
|
||||
if (AudioFadeEvent != nullptr)
|
||||
{
|
||||
AudioFadeEvent->Wait(1000);
|
||||
{
|
||||
if (!AudioFadeEvent->Wait(FadeoutTimeoutCVar))
|
||||
{
|
||||
UE_LOG(LogAudioMixer, Warning, TEXT("FadeOutEvent timed out"));
|
||||
}
|
||||
}
|
||||
|
||||
FadeVolume = 0.0f;
|
||||
|
||||
@@ -489,10 +489,10 @@ namespace Audio
|
||||
void ReadNextBuffer();
|
||||
|
||||
/** Reset the fade state (use if reusing audio platform interface, e.g. in main audio device. */
|
||||
void FadeIn();
|
||||
virtual void FadeIn();
|
||||
|
||||
/** Start a fadeout. Prevents pops during shutdown. */
|
||||
void FadeOut();
|
||||
virtual void FadeOut();
|
||||
|
||||
/** Returns the last error generated. */
|
||||
FString GetLastError() const { return LastError; }
|
||||
|
||||
@@ -46,6 +46,8 @@ namespace Audio
|
||||
virtual FAudioPlatformSettings GetPlatformSettings() const override;
|
||||
virtual void OnHardwareUpdate() override;
|
||||
virtual bool IsNonRealtime() const override;
|
||||
virtual void FadeOut() override {}
|
||||
virtual void FadeIn() override {}
|
||||
//~ End IAudioMixerPlatformInterface
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user