You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rnx #rb none #ROBOMERGE-OWNER: ryan.durand #ROBOMERGE-AUTHOR: ryan.durand #ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900 #ROBOMERGE-BOT: (v613-10869866) [CL 10870549 by ryan durand in Main branch]
43 lines
667 B
C++
43 lines
667 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "WmfPrivate.h"
|
|
|
|
#include "HAL/ThreadSafeBool.h"
|
|
#include "AVEncoder.h"
|
|
|
|
class FWmfRingBuffer
|
|
{
|
|
public:
|
|
FTimespan GetMaxDuration() const
|
|
{
|
|
return MaxDuration;
|
|
}
|
|
|
|
void SetMaxDuration(FTimespan InMaxDuration)
|
|
{
|
|
MaxDuration = InMaxDuration;
|
|
}
|
|
|
|
FTimespan GetDuration() const;
|
|
|
|
void Push(AVEncoder::FAVPacket&& Sample);
|
|
|
|
void PauseCleanup(bool bPause);
|
|
|
|
TArray<AVEncoder::FAVPacket> GetCopy();
|
|
|
|
void Reset();
|
|
|
|
private:
|
|
void Cleanup();
|
|
|
|
private:
|
|
FTimespan MaxDuration = 0;
|
|
TArray<AVEncoder::FAVPacket> Samples;
|
|
FCriticalSection Mutex;
|
|
FThreadSafeBool bCleanupPaused = false;
|
|
};
|
|
|