UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WindowsVideoRecordingSystem.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6
7#include "RHI.h"
8#include "RHIResources.h"
9
10#include "HAL/ThreadSafeBool.h"
11#include "CoreMinimal.h"
12#include "AudioMixerDevice.h"
13#include "RHI.h"
14#include "RHIResources.h"
15#include "PipelineStateCache.h"
16
18
20
24{
25public:
28
29 // IVideoRecordingSystem interface
30 void EnableRecording(const bool bEnableRecording) override;
31 bool IsEnabled() const override;
33 void StartRecording() override;
34 void PauseRecording() override;
35 virtual uint64 GetMinimumRecordingSeconds() const override;
36 virtual uint64 GetMaximumRecordingSeconds() const override;
37 float GetCurrentRecordingSeconds() const override;
38 void FinalizeRecording(const bool bSaveRecording, const FText& Title, const FText& Comment, const bool bStopAutoContinue = true) override;
40
41private:
42 void NextRecording();
43 void FinalizeCallbackOnGameThread(bool bSaved, bool bAutoContinue, FString Path, bool bBroadcast);
44
46
48
49 FString BaseFilename;
50 FString CurrentFilename;
51 uint64 RecordingIndex = 0;
52 uint64 CurrentStartRecordingCycles = 0;
53 uint64 CyclesBeforePausing = 0;
54
55 // If this is nullptr, then it means video recording is not enabled
57
58 bool bAudioFormatChecked = false;
59
61 TUniquePtr<FWindowsScreenRecording> ScreenshotAndRecorderHandler;
62};
63
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
EVideoRecordingState
Definition VideoRecordingSystem.h:29
Definition HighlightRecorder.h:23
Definition Text.h:385
Definition WindowsVideoRecordingSystem.cpp:28
Definition WindowsVideoRecordingSystem.h:24
void PauseRecording() override
Definition WindowsVideoRecordingSystem.cpp:314
float GetCurrentRecordingSeconds() const override
Definition WindowsVideoRecordingSystem.cpp:347
~FWindowsVideoRecordingSystem() override
Definition WindowsVideoRecordingSystem.cpp:168
EVideoRecordingState GetRecordingState() const override
Definition WindowsVideoRecordingSystem.cpp:419
FWindowsVideoRecordingSystem()
Definition WindowsVideoRecordingSystem.cpp:159
virtual uint64 GetMaximumRecordingSeconds() const override
Definition WindowsVideoRecordingSystem.cpp:342
bool IsEnabled() const override
Definition WindowsVideoRecordingSystem.cpp:213
void EnableRecording(const bool bEnableRecording) override
Definition WindowsVideoRecordingSystem.cpp:176
void StartRecording() override
Definition WindowsVideoRecordingSystem.cpp:285
bool NewRecording(const TCHAR *DestinationFileName, FVideoRecordingParameters Parameters=FVideoRecordingParameters()) override
Definition WindowsVideoRecordingSystem.cpp:231
void FinalizeRecording(const bool bSaveRecording, const FText &Title, const FText &Comment, const bool bStopAutoContinue=true) override
Definition WindowsVideoRecordingSystem.cpp:355
virtual uint64 GetMinimumRecordingSeconds() const override
Definition WindowsVideoRecordingSystem.cpp:337
Definition VideoRecordingSystem.h:75
Definition Atomic.h:538
Definition UniquePtr.h:107
Definition VideoRecordingSystem.h:40