oa::ScreenCapture

ScreenCapture class in the OA Vision public surface.

Public Methods

oa::Status oa::ScreenCapture::close()
oa::U32 oa::ScreenCapture::height()
bool oa::ScreenCapture::isStreaming()
bool oa::ScreenCapture::poll(VideoFrame & outFrame)
void oa::ScreenCapture::release(const VideoFrame & inFrame)
void oa::ScreenCapture::release(const VideoFrame & inFrame, const oa::Event & inConsumed)
oa::U32 oa::ScreenCapture::width()

Static Public Methods

static bool oa::ScreenCapture::isSupported()
static oa::Result<ScreenCapture> oa::ScreenCapture::open(oa::Engine & inEngine, const ScreenCaptureConfig & inConfig = {})

Constructor & Destructor Documentation

oa::ScreenCapture::ScreenCapture()
No public source comment is attached to this declaration.
void oa::ScreenCapture::~ScreenCapture()
No public source comment is attached to this declaration.

Public Method Documentation

oa::Status oa::ScreenCapture::close()
Stops the producer thread, completes exact frame-consumer dependencies, and releases portal, PipeWire, and vulkan resources.

Returns

oa::Status

The declared return value.

oa::U32 oa::ScreenCapture::height()
No public source comment is attached to this declaration.

Returns

oa::U32

The declared return value.

bool oa::ScreenCapture::isStreaming()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

bool oa::ScreenCapture::poll( VideoFrame & outFrame )
Non-blocking. Returns true when a newer frame than the previous poll() is published through the common video-frame contract.

Parameters

outFrame
VideoFrame &

Returns

bool

The declared return value.

void oa::ScreenCapture::release( const VideoFrame & inFrame )
release a frame returned by poll(). The no-token overload declares that no asynchronous consumer remains.

Parameters

inFrame
const VideoFrame &

Returns

void

The declared return value.

void oa::ScreenCapture::release( const VideoFrame & inFrame, const oa::Event & inConsumed )
GPU-deferred release. DMA-BUF ownership returns to PipeWire only after inConsumed completes. mapped fallback ring slots are likewise withheld from producer reuse until the exact completion becomes ready.

Parameters

inFrame
const VideoFrame &

inConsumed
const oa::Event &

Returns

void

The declared return value.

oa::U32 oa::ScreenCapture::width()
No public source comment is attached to this declaration.

Returns

oa::U32

The declared return value.

static bool oa::ScreenCapture::isSupported()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

static oa::Result<ScreenCapture> oa::ScreenCapture::open( oa::Engine & inEngine, const ScreenCaptureConfig & inConfig = {} )
No public source comment is attached to this declaration.

Parameters

inEngine
oa::Engine &

inConfig
const ScreenCaptureConfig &

Default: {}

Returns

oa::Result<ScreenCapture>

The declared return value.