Files
UnrealEngineUWP/Engine/Source/Runtime/AudioCaptureImplementations/Windows/AudioCaputureWasapi/Private/AudioCaptureWasapiModule.cpp
Brian Chrisman a381e0b7c6 [Audio Capture] WASAPI device support for audio capture. (3 of 3)
#rb phil.popp
#jira UE-178166, UE-178167, UE-178169, UE-178180
#preflight 641a3a0fa6092dfb8d752a67

[CL 24756329 by Brian Chrisman in ue5-main branch]
2023-03-22 19:38:36 -04:00

39 lines
1016 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "AudioCaptureDeviceInterface.h"
#include "AudioCaptureWasapi.h"
#include "Features/IModularFeatures.h"
#include "Modules/ModuleManager.h"
namespace Audio
{
class FAudioCaptureWasapiFactory : public IAudioCaptureFactory
{
public:
virtual TUniquePtr<IAudioCaptureStream> CreateNewAudioCaptureStream() override
{
return TUniquePtr<IAudioCaptureStream>(new FAudioCaptureWasapiStream());
}
};
class FAudioCaptureWasapiModule : public IModuleInterface
{
private:
FAudioCaptureWasapiFactory AudioCaptureFactory;
public:
virtual void StartupModule() override
{
IModularFeatures::Get().RegisterModularFeature(IAudioCaptureFactory::GetModularFeatureName(), &AudioCaptureFactory);
}
virtual void ShutdownModule() override
{
IModularFeatures::Get().UnregisterModularFeature(IAudioCaptureFactory::GetModularFeatureName(), &AudioCaptureFactory);
}
};
}
IMPLEMENT_MODULE(Audio::FAudioCaptureWasapiModule, AudioCaptureWasapi)