Audio Capture Component does not appear to be handling external device swaps appropriately, and has a delayed crash that will occur if an in-use mic is unplugged. At a glance, it appears to involve a potential memory leak.

Steps to Reproduce
  • Have a single headset plugged in
  • Place an actor with an Audio Capture Component attached into a map
  • Activate the Audio Capture Component (or set it to auto-activate)
  • Play the map in PIE
  • Unplug the headset
  • Wait 1 to 3 minutes for the crash to occur
vcruntime140.dll!memcpy() Line 415	
[Inline Frame] UE4Editor-AudioCaptureCore.dll!FGenericPlatformMemory::Memcpy(void *) Line 532	
 [Inline Frame] UE4Editor-AudioCaptureCore.dll!FMemory::Memcpy(void *) Line 143	
 UE4Editor-AudioCaptureCore.dll!Audio::FAudioCaptureSynth::OpenDefaultStream::__l5::<lambda>(const float * AudioData, int NumFrames, int NumChannels, int SampleRate, double StreamTime, bool bOverFlow) Line 194
 [Inline Frame] UE4Editor-AudioCaptureRtAudio.dll!UE4Function_Private::TFunctionRefBase<UE4Function_Private::TFunctionStorage<0>,void __cdecl(float const *,int,int,int,double,bool)>::operator()(const float * <Params_0>, int <Params_1>, int <Params_2>, int <Params_3>, double <Params_4>, bool <Params_5>) Line 676
 UE4Editor-AudioCaptureRtAudio.dll!Audio::FAudioCaptureRtAudioStream::OnAudioCapture(void * InBuffer, unsigned int InBufferFrames, double StreamTime, bool bOverflow) Line 198
 UE4Editor-AudioCaptureRtAudio.dll!OnAudioCaptureCallback(void * OutBuffer, void * InBuffer, unsigned int InBufferFrames, double StreamTime, unsigned int AudioStreamStatus, void * InUserData) Line 18	
 UE4Editor-AudioCaptureRtAudio.dll!RtApiDs::callbackEvent() Line 6281	
 UE4Editor-AudioCaptureRtAudio.dll!callbackHandler(void * ptr) Line 6663	

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-117688 in the post.

Login to Vote

ComponentUE - Audio
Affects Versions4.26.1
Target Fix4.27
Fix Commit16752204
Release Commit16752204
CreatedJun 9, 2021
ResolvedJun 23, 2021
UpdatedDec 1, 2022
View Jira Issue