UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AudioMixerWasapiDeviceThread.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include <atomic>
6
7#include "HAL/Runnable.h"
10#include "Templates/Function.h"
11#include "Templates/UniquePtr.h"
12
15
17
19#include <winnt.h>
21
24
25namespace Audio
26{
31 {
32 public:
34
39
44
46 virtual ~FAudioMixerWasapiRunnable() = default;
47
48 // Begin FRunnable overrides
49 virtual uint32 Run() override;
50 virtual void Stop() override;
51 // End FRunnable overrides
52
53 private:
55 std::atomic<bool> bIsRunning;
56
61 TArray<HANDLE> EventHandles;
62
67 uint32 OutputStreamTimeoutsDetected = 0;
68
70 TFunction<void()> DeviceRenderCallback;
71
72 bool CreateEventHandles(const uint32 InNumRequestedHandles = 1);
73 };
74
79 {
80 public:
82
87
92
98 bool Start();
99
103 void Stop();
104
109 void Abort();
110
111 private:
113 static std::atomic<uint32> AudioDeviceThreadCounter;
114
116 TUniquePtr<FRunnableThread> DeviceRenderThread;
117
119 TUniquePtr<FAudioMixerWasapiRunnable> DeviceRenderRunnable;
120 };
121}
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define THIRD_PARTY_INCLUDES_START
Definition GenericPlatformCompilerPreSetup.h:63
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition AudioMixerWasapiDeviceThread.h:79
void Abort()
Definition AudioMixerWasapiDeviceThread.cpp:127
bool Start()
Definition AudioMixerWasapiDeviceThread.cpp:106
void Stop()
Definition AudioMixerWasapiDeviceThread.cpp:115
Definition AudioMixerWasapiDeviceThread.h:31
virtual ~FAudioMixerWasapiRunnable()=default
virtual void Stop() override
Definition AudioMixerWasapiDeviceThread.cpp:87
virtual uint32 Run() override
Definition AudioMixerWasapiDeviceThread.cpp:58
Definition Runnable.h:20
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition UniquePtr.h:107
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition Voronoi.cpp:10