2021-04-29 19:32:06 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2021-12-02 21:10:53 -05:00
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
|
2021-04-29 19:32:06 -04:00
|
|
|
namespace AVEncoder
|
|
|
|
|
{
|
2021-12-01 16:57:33 -05:00
|
|
|
class AVENCODER_API FCodecPacket
|
2021-04-29 19:32:06 -04:00
|
|
|
{
|
|
|
|
|
public:
|
2021-12-01 16:57:33 -05:00
|
|
|
virtual ~FCodecPacket() = default;
|
2021-04-29 19:32:06 -04:00
|
|
|
|
2021-12-01 16:57:33 -05:00
|
|
|
static FCodecPacket Create(const uint8* InData, uint32 InDataSize);
|
2021-04-29 19:32:06 -04:00
|
|
|
|
2021-12-01 16:57:33 -05:00
|
|
|
/**
|
|
|
|
|
* Encoding/Decoding latency
|
|
|
|
|
*/
|
|
|
|
|
struct FTimings
|
|
|
|
|
{
|
|
|
|
|
FTimespan StartTs;
|
|
|
|
|
FTimespan FinishTs;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
TSharedPtr<uint8> Data; // pointer to encoded data
|
|
|
|
|
uint32 DataSize = 0; // number of bytes of encoded data
|
|
|
|
|
bool IsKeyFrame = false; // whether or not packet represents a key frame
|
|
|
|
|
uint32 VideoQP = 0;
|
|
|
|
|
uint32 Framerate;
|
|
|
|
|
FTimings Timings;
|
2021-04-29 19:32:06 -04:00
|
|
|
|
|
|
|
|
private:
|
2021-12-01 16:57:33 -05:00
|
|
|
FCodecPacket() = default;
|
2021-04-29 19:32:06 -04:00
|
|
|
};
|
2021-12-01 16:57:33 -05:00
|
|
|
} /* namespace AVEncoder */
|