184 void* TargetWindowPtr;
196 struct FResolveSurface
206 int32 CurrentFrameIndex;
209 int32 SlateRenderIndex;
217 int32 FrameGrabLatency;
220 enum class EFrameGrabberState
222 Inactive, Active, PendingShutdown
224 EFrameGrabberState State;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
TSharedPtr< IFramePayload, ESPMode::ThreadSafe > FFramePayloadPtr
Definition FrameGrabber.h:91
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition IDelegateInstance.h:14
Definition FrameGrabber.h:125
MOVIESCENECAPTURE_API void StartCapturingFrames()
Definition FrameGrabber.cpp:268
MOVIESCENECAPTURE_API ~FFrameGrabber()
Definition FrameGrabber.cpp:255
MOVIESCENECAPTURE_API bool IsCapturingFrames() const
Definition FrameGrabber.cpp:280
MOVIESCENECAPTURE_API void OnFrameReady(int32 SurfaceIndex, FColor *ColorBuffer, int32 Width, int32 Height)
Definition FrameGrabber.cpp:421
MOVIESCENECAPTURE_API void OnBackBufferReadyToPresentCallback(SWindow &SlateWindow, const FTextureRHIRef &BackBuffer)
Definition FrameGrabber.cpp:361
MOVIESCENECAPTURE_API void Shutdown()
Definition FrameGrabber.cpp:312
MOVIESCENECAPTURE_API void StopCapturingFrames()
Definition FrameGrabber.cpp:302
MOVIESCENECAPTURE_API bool HasOutstandingFrames() const
Definition FrameGrabber.cpp:328
MOVIESCENECAPTURE_API void CaptureThisFrame(FFramePayloadPtr Payload)
Definition FrameGrabber.cpp:285
MOVIESCENECAPTURE_API TArray< FCapturedFrameData > GetCapturedFrames()
Definition FrameGrabber.cpp:336
Definition ThreadSafeBool.h:17
Definition ThreadSafeCounter.h:14
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition SharedPointer.h:1065
Definition SharedPointer.h:153
Definition FrameGrabber.h:95
TArray< FColor > ColorBuffer
Definition FrameGrabber.h:105
FCapturedFrameData(FCapturedFrameData &&In)
Definition FrameGrabber.h:98
FIntPoint BufferSize
Definition FrameGrabber.h:108
FCapturedFrameData & operator=(FCapturedFrameData &&In)
Definition FrameGrabber.h:99
FFramePayloadPtr Payload
Definition FrameGrabber.h:111
T * GetPayload()
Definition FrameGrabber.h:102
FCapturedFrameData(FIntPoint InBufferSize, FFramePayloadPtr InPayload)
Definition FrameGrabber.h:96
Definition FrameGrabber.h:14
MOVIESCENECAPTURE_API void ResolveRenderTarget(FViewportSurfaceReader *RenderToReadback, const FTextureRHIRef &BackBuffer, TFunction< void(FColor *, int32, int32)> Callback)
Definition FrameGrabber.cpp:90
EPixelFormat PixelFormat
Definition FrameGrabber.h:72
FTextureRHIRef ReadbackTexture
Definition FrameGrabber.h:63
void SetWindowSize(FIntPoint InWindowSize)
Definition FrameGrabber.h:47
MOVIESCENECAPTURE_API ~FViewportSurfaceReader()
Definition FrameGrabber.cpp:40
MOVIESCENECAPTURE_API FIntPoint GetCurrentSize() const
FEvent * AvailableEvent
Definition FrameGrabber.h:60
bool bQueuedForCapture
Definition FrameGrabber.h:77
FIntPoint WindowSize
Definition FrameGrabber.h:69
bool WasEverQueued() const
Definition FrameGrabber.h:49
FThreadSafeBool bEnabled
Definition FrameGrabber.h:57
bool bIsEnabled
Definition FrameGrabber.h:75
MOVIESCENECAPTURE_API void BlockUntilAvailable()
Definition FrameGrabber.cpp:69
MOVIESCENECAPTURE_API void Reset()
Definition FrameGrabber.cpp:80
MOVIESCENECAPTURE_API void Initialize()
Definition FrameGrabber.cpp:47
FIntRect CaptureRect
Definition FrameGrabber.h:66
MOVIESCENECAPTURE_API void Resize(uint32 Width, uint32 Height)
Definition FrameGrabber.cpp:53
void SetCaptureRect(FIntRect InCaptureRect)
Definition FrameGrabber.h:44
Definition FrameGrabber.h:81
virtual ~IFramePayload()
Definition FrameGrabber.h:82
virtual bool OnFrameReady_RenderThread(FColor *ColorBuffer, FIntPoint BufferSize, FIntPoint TargetSize) const
Definition FrameGrabber.h:88