Direct Camera for Unreal
Direct Camera Unreal docs
Loading...
Searching...
No Matches
UDirectCameraFrameBuffer Class Reference

#include <DirectCameraFrameBuffer.h>

Public Member Functions

bool SetFrameBufferCallback (UDirectCameraFrameCapture *InCallback)
bool RemoveFrameBufferCallback (UDirectCameraFrameCapture *InCallback)
 UDirectCameraFrameBuffer ()
virtual ~UDirectCameraFrameBuffer ()
void GetYUVPlanes (TArray< uint8 > &OutPlaneY, TArray< uint8 > &OutPlaneU, TArray< uint8 > &OutPlaneV) const
void GetImageData (TArray< uint8 > &OutImageData) const
bool IsReady () const
void Clear ()
FString GetFrameTypeString () const
bool StopCapture ()
bool InitializeFromCaptureRequest (FDirectCameraMediaPlayer *InPlayer, int32 InCaptureID, DirectCameraFrameType InFrameType)
void SetReady ()
bool SaveImage (const FString &FileName, bool ToGallery)

Static Public Member Functions

static UDirectCameraFrameBufferCreateCaptureFrameBuffer (UMediaPlayer *MediaPlayer, DirectCameraFrameType frameType, int Width, int Height, UObject *WorldContextObject)

Public Attributes

FOnFrameBufferReady OnFrameBufferReady
int32 Width
int32 Height
DirectCameraFrameType FrameType
int32 CaptureID
UObject * WorldContext

Protected Attributes

bool bIsReady
FDirectCameraMediaPlayerLinkedPlayer
TArray< uint8PlaneYOrImageData
TArray< uint8PlaneU
TArray< uint8PlaneV
UDirectCameraFrameCaptureFrameBufferCallback

Friends

class UDirectCameraFrameCapture

Detailed Description

UDirectCameraFrameBuffer - A Blueprint-compatible class that holds camera frame data This class provides a data buffer from the camera and exposes a second execution output pin which fires when a frame is ready

Constructor & Destructor Documentation

◆ UDirectCameraFrameBuffer()

UDirectCameraFrameBuffer::UDirectCameraFrameBuffer ( )

◆ ~UDirectCameraFrameBuffer()

UDirectCameraFrameBuffer::~UDirectCameraFrameBuffer ( )
virtual

Member Function Documentation

◆ Clear()

void UDirectCameraFrameBuffer::Clear ( )

Clear the frame buffer and reset its state

◆ CreateCaptureFrameBuffer()

UDirectCameraFrameBuffer * UDirectCameraFrameBuffer::CreateCaptureFrameBuffer ( UMediaPlayer * MediaPlayer,
DirectCameraFrameType frameType,
int Width,
int Height,
UObject * WorldContextObject )
static

◆ GetFrameTypeString()

FString UDirectCameraFrameBuffer::GetFrameTypeString ( ) const

Get the frame format as a string for debugging

◆ GetImageData()

void UDirectCameraFrameBuffer::GetImageData ( TArray< uint8 > & OutImageData) const
inline

◆ GetYUVPlanes()

void UDirectCameraFrameBuffer::GetYUVPlanes ( TArray< uint8 > & OutPlaneY,
TArray< uint8 > & OutPlaneU,
TArray< uint8 > & OutPlaneV ) const
inline

◆ InitializeFromCaptureRequest()

bool UDirectCameraFrameBuffer::InitializeFromCaptureRequest ( FDirectCameraMediaPlayer * InPlayer,
int32 InCaptureID,
DirectCameraFrameType InFrameType )
inline

◆ IsReady()

bool UDirectCameraFrameBuffer::IsReady ( ) const

Check if the frame buffer is ready for use

◆ RemoveFrameBufferCallback()

bool UDirectCameraFrameBuffer::RemoveFrameBufferCallback ( UDirectCameraFrameCapture * InCallback)

◆ SaveImage()

bool UDirectCameraFrameBuffer::SaveImage ( const FString & FileName,
bool ToGallery )

◆ SetFrameBufferCallback()

bool UDirectCameraFrameBuffer::SetFrameBufferCallback ( UDirectCameraFrameCapture * InCallback)

◆ SetReady()

void UDirectCameraFrameBuffer::SetReady ( )

Set the buffer as ready and trigger the delegate

◆ StopCapture()

bool UDirectCameraFrameBuffer::StopCapture ( )

Start capturing frames - if this is a video format it will repeatedly capture, otherwise it will capture one frame and fire the event when the frame is ready

◆ UDirectCameraFrameCapture

friend class UDirectCameraFrameCapture
friend

Member Data Documentation

◆ bIsReady

bool UDirectCameraFrameBuffer::bIsReady
protected

Internal state tracking if the buffer is ready

◆ CaptureID

int32 UDirectCameraFrameBuffer::CaptureID

◆ FrameBufferCallback

UDirectCameraFrameCapture* UDirectCameraFrameBuffer::FrameBufferCallback
protected

◆ FrameType

DirectCameraFrameType UDirectCameraFrameBuffer::FrameType

Type of frame data (VIDEO, YUV420, JPEG, HEIF)

◆ Height

int32 UDirectCameraFrameBuffer::Height

Height of the frame in pixels

◆ LinkedPlayer

FDirectCameraMediaPlayer* UDirectCameraFrameBuffer::LinkedPlayer
protected

◆ OnFrameBufferReady

FOnFrameBufferReady UDirectCameraFrameBuffer::OnFrameBufferReady

Delegate called when the frame buffer is ready for use

◆ PlaneU

TArray<uint8> UDirectCameraFrameBuffer::PlaneU
protected

◆ PlaneV

TArray<uint8> UDirectCameraFrameBuffer::PlaneV
protected

◆ PlaneYOrImageData

TArray<uint8> UDirectCameraFrameBuffer::PlaneYOrImageData
protected

◆ Width

int32 UDirectCameraFrameBuffer::Width

Width of the frame in pixels

◆ WorldContext

UObject* UDirectCameraFrameBuffer::WorldContext

The documentation for this class was generated from the following files: