2021-04-29 19:32:06 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#include "CodecPacket.h"
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
|
2021-12-01 16:57:33 -05:00
|
|
|
namespace
|
|
|
|
|
{
|
|
|
|
|
struct FDataCopyDeleter
|
|
|
|
|
{
|
|
|
|
|
void operator()(uint8* p)
|
|
|
|
|
{
|
|
|
|
|
FMemory::Free(p);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void DataCopyDeleter(uint8* p)
|
|
|
|
|
{
|
|
|
|
|
FMemory::Free(p);
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-04-29 19:32:06 -04:00
|
|
|
|
|
|
|
|
namespace AVEncoder
|
|
|
|
|
{
|
2024-03-14 20:30:26 -04:00
|
|
|
PRAGMA_DISABLE_DEPRECATION_WARNINGS
|
2021-12-01 16:57:33 -05:00
|
|
|
FCodecPacket FCodecPacket::Create(const uint8* InData, uint32 InDataSize)
|
2024-03-14 20:30:26 -04:00
|
|
|
PRAGMA_ENABLE_DEPRECATION_WARNINGS
|
2021-04-29 19:32:06 -04:00
|
|
|
{
|
2021-12-01 16:57:33 -05:00
|
|
|
uint8* DataCopy = static_cast<uint8*>(FMemory::Malloc(InDataSize));
|
|
|
|
|
FMemory::BigBlockMemcpy(DataCopy, InData, InDataSize);
|
|
|
|
|
|
|
|
|
|
TSharedPtr<uint8> Data(DataCopy, [](uint8* Obj){ DataCopyDeleter(Obj); });
|
|
|
|
|
|
|
|
|
|
FCodecPacket Packet;
|
|
|
|
|
Packet.Data = Data;
|
|
|
|
|
Packet.DataSize = InDataSize;
|
|
|
|
|
return Packet;
|
2021-04-29 19:32:06 -04:00
|
|
|
}
|
2021-12-01 16:57:33 -05:00
|
|
|
} /* namespace AVEncoder */
|