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

47 lines
907 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Pipeline/Node.h"
#include "Pipeline/PipelineData.h"
#include "MetaHumanLocalLiveLinkSubject.h"
namespace UE::MetaHuman::Pipeline
{
class FAudioSourceNode : public FNode
{
public:
FAudioSourceNode(const FString& InName);
virtual bool Process(const TSharedPtr<FPipelineData>& InPipelineData) override;
virtual bool End(const TSharedPtr<FPipelineData>& InPipelineData) override;
enum ErrorCode
{
GeneralError = 0,
};
class FAudioSample
{
public:
FAudioDataType Audio;
FQualifiedFrameTime Time;
FMetaHumanLocalLiveLinkSubject::ETimeSource TimeSource = FMetaHumanLocalLiveLinkSubject::ETimeSource::NotSet;
};
void AddAudioSample(FAudioSample&& InImageSample);
void SetError(const FString& InErrorMessage);
private:
FCriticalSection Mutex;
TArray<FAudioSample> AudioSamples;
FString ErrorMessage;
};
}