Files
UnrealEngineUWP/Engine/Source/Runtime/AVEncoder/Private/CodecPacket.h
aurel cordonnier 50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00

42 lines
846 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "VideoCommon.h"
#include <HAL/CriticalSection.h>
namespace AVEncoder
{
class FCodecPacketImpl : public FCodecPacket
{
public:
~FCodecPacketImpl();
// clone packet if a longer term copy is needed
const FCodecPacket* Clone() const override;
// release a cloned copy
void ReleaseClone() const override;
class FClone : public FCodecPacket
{
public:
~FClone();
void Copy(const FCodecPacketImpl& InOriginal);
// clone packet if a longer term copy is needed
const FCodecPacket* Clone() const override;
// release a cloned copy
void ReleaseClone() const override;
private:
mutable FThreadSafeCounter RefCounter = 0;
};
private:
mutable FCriticalSection ProtectClone;
mutable const FClone* MyClone = nullptr;
};
} /* namespace AVEncoder */