Files
UnrealEngine/Engine/Plugins/MetaHuman/MetaHumanLiveLink/Source/MetaHumanLocalLiveLinkSource/Public/MetaHumanMediaSamplerLiveLinkSubject.h
2025-05-18 13:04:45 +08:00

41 lines
851 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "MetaHumanLocalLiveLinkSubject.h"
#include "HAL/RunnableThread.h"
class METAHUMANLOCALLIVELINKSOURCE_API FMetaHumanMediaSamplerLiveLinkSubject : public FMetaHumanLocalLiveLinkSubject
{
public:
FMetaHumanMediaSamplerLiveLinkSubject(ILiveLinkClient* InLiveLinkClient, const FGuid& InSourceGuid, const FName& InSubjectName, UMetaHumanLocalLiveLinkSubjectSettings* InSettings);
virtual void Start() override;
virtual void Stop() override;
protected:
virtual void MediaSamplerMain() = 0;
private:
class FMediaSamplerRunnable : public FRunnable
{
public:
virtual uint32 Run() override;
void Start(TFunction<void()> InMainFunction);
TFunction<void()> MainFunction;
TUniquePtr<FRunnableThread> Thread;
};
FMediaSamplerRunnable MediaSamplerRunnable;
};