Files
UnrealEngineUWP/Engine/Source/Runtime/Windows/WindowsPlatformFeatures/Private/WmfRingBuffer.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

43 lines
678 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "WmfPrivate.h"
#include "HAL/ThreadSafeBool.h"
#include "MediaPacket.h"
class FWmfRingBuffer
{
public:
FTimespan GetMaxDuration() const
{
return MaxDuration;
}
void SetMaxDuration(FTimespan InMaxDuration)
{
MaxDuration = InMaxDuration;
}
FTimespan GetDuration() const;
void Push(AVEncoder::FMediaPacket&& Sample);
void PauseCleanup(bool bPause);
TArray<AVEncoder::FMediaPacket> GetCopy();
void Reset();
private:
void Cleanup();
private:
FTimespan MaxDuration = 0;
TArray<AVEncoder::FMediaPacket> Samples;
FCriticalSection Mutex;
FThreadSafeBool bCleanupPaused = false;
};