oa::VideoRecorder

VideoRecorder class in the OA Vision public surface.

Public Methods

oa::Status oa::VideoRecorder::close()
oa::Status oa::VideoRecorder::finalize()
const VideoRecorderConfig & oa::VideoRecorder::getConfig()
oa::U32 oa::VideoRecorder::getFrameCount()
bool oa::VideoRecorder::isOpen()
oa::Status oa::VideoRecorder::write(const VideoFrame & inFrame)
oa::Status oa::VideoRecorder::write(const oa::Texture & inTexture, oa::U64 inPts)
oa::Status oa::VideoRecorder::writeAsync(const VideoFrame & inFrame, oa::Event & outInputConsumed)
oa::Status oa::VideoRecorder::writeAudio(const AudioCaptureChunk & inChunk)
oa::Status oa::VideoRecorder::writeAudio(oa::Span<const oa::F32> inInterleaved, oa::U32 inSampleRate, oa::U32 inChannelCount, oa::U64 inPts)
oa::Status oa::VideoRecorder::writeRgba(const oavk::Buffer & inRgba, oa::U32 inWidth, oa::U32 inHeight, oa::U64 inPts)

Static Public Methods

static oa::Result<VideoRecorder> oa::VideoRecorder::create(Engine & inEngine, const VideoRecorderConfig & inConfig)

Constructor & Destructor Documentation

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

Public Method Documentation

oa::Status oa::VideoRecorder::close()
Releases encoder and host-file state without finalizing.

Returns

oa::Status

The declared return value.

oa::Status oa::VideoRecorder::finalize()
flush the encoder and finalize the container. idempotent.

Returns

oa::Status

The declared return value.

const VideoRecorderConfig & oa::VideoRecorder::getConfig()
No public source comment is attached to this declaration.

Returns

const VideoRecorderConfig &

The declared return value.

oa::U32 oa::VideoRecorder::getFrameCount()
No public source comment is attached to this declaration.

Returns

oa::U32

The declared return value.

bool oa::VideoRecorder::isOpen()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

oa::Status oa::VideoRecorder::write( const VideoFrame & inFrame )
Record a common capture/decode/render frame.

Parameters

inFrame
const VideoFrame &

Returns

oa::Status

The declared return value.

oa::Status oa::VideoRecorder::write( const oa::Texture & inTexture, oa::U64 inPts )
Record a buffer- or image-backed render target.

Parameters

inTexture
const oa::Texture &

inPts
oa::U64

Returns

oa::Status

The declared return value.

oa::Status oa::VideoRecorder::writeAsync( const VideoFrame & inFrame, oa::Event & outInputConsumed )
Non-blocking image-input variant. outInputConsumed signals after the source image has returned to its published layout/queue family.

Parameters

inFrame
const VideoFrame &

outInputConsumed
oa::Event &

Returns

oa::Status

The declared return value.

oa::Status oa::VideoRecorder::writeAudio( const AudioCaptureChunk & inChunk )
No public source comment is attached to this declaration.

Parameters

inChunk
const AudioCaptureChunk &

Returns

oa::Status

The declared return value.

oa::Status oa::VideoRecorder::writeAudio( oa::Span<const oa::F32> inInterleaved, oa::U32 inSampleRate, oa::U32 inChannelCount, oa::U64 inPts )
Add captured interleaved F32 audio.

Parameters

inInterleaved
oa::Span<const oa::F32>

inSampleRate
oa::U32

inChannelCount
oa::U32

inPts
oa::U64

Returns

oa::Status

The declared return value.

oa::Status oa::VideoRecorder::writeRgba( const oavk::Buffer & inRgba, oa::U32 inWidth, oa::U32 inHeight, oa::U64 inPts )
Record one packed RGBA8 bindless buffer.

Parameters

inRgba
const oavk::Buffer &

inWidth
oa::U32

inHeight
oa::U32

inPts
oa::U64

Returns

oa::Status

The declared return value.

static oa::Result<VideoRecorder> oa::VideoRecorder::create( Engine & inEngine, const VideoRecorderConfig & inConfig )
No public source comment is attached to this declaration.

Parameters

inEngine
Engine &

inConfig
const VideoRecorderConfig &

Returns

oa::Result<VideoRecorder>

The declared return value.