Skip to main content
Version: 0.9.0 (next)

Video Sender

Functions Index​

static QarResultqar_video_sender_change_layout (QarVideoSender *sender, const QarVideoFrameLayout *layout)
static QarResultqar_video_sender_create (QarSession *session, const QarVideoSenderInit *init, QarVideoSender **out_sender)

Create a producer-owned logical video stream. More...

static QarResultqar_video_sender_frame_cpu (QarVideoSender *sender, QarVideoFrameCpu *out_frame)
static QarResultqar_video_sender_frame_d3d11 (QarVideoSender *sender, QarVideoFrameD3D11 *out_frame)
static voidqar_video_sender_handle_destroy (QarVideoSender *handle)
static QarResultqar_video_sender_layout (QarVideoSender *sender, QarVideoFrameLayout *out_layout)
static QarResultqar_video_sender_show_frame (QarVideoSender *sender)
static QarResultqar_video_sender_stream_id (QarVideoSender *sender, QarStreamId *out_stream_id)
static QarResultqar_video_sender_try_begin_frame (QarVideoSender *sender, bool *out_ready)

Non-blocking attempt to begin producing a new frame. More...

Functions​

qar_video_sender_change_layout()​

QarResult qar_video_sender_change_layout (QarVideoSender * sender, const QarVideoFrameLayout * layout)
inline static

Definition at line 3227 of file qar_streaming.h.

qar_video_sender_create()​

QarResult qar_video_sender_create (QarSession * session, const QarVideoSenderInit * init, QarVideoSender ** out_sender)
inline static

Create a producer-owned logical video stream.

Unlike QarRenderSender, which answers a receiver-driven render request and supplies per-frame tracking data for stereoscopic rendering, QarVideoSender owns a library-generated StreamId and may exist before any receiver connects. Its caller supplies an arbitrary video layout, begins a cycle only when at least one destination is ready, writes the sender-owned frame, and shows it without render poses, FOVs, or presentation metadata. Use QarRenderSender for remote-rendering frames requested by a particular consumer; use QarVideoSender for application-owned video such as GUI panel content.

Select CPU, D3D11, OpenGL, or Vulkan ingress through QarVideoSenderInit::graphics_api and attach the matching stream-parameter extension when external graphics objects are required. Call qar_video_sender_stream_id() to publish the generated identity.

Definition at line 3193 of file qar_streaming.h.

qar_video_sender_frame_cpu()​

QarResult qar_video_sender_frame_cpu (QarVideoSender * sender, QarVideoFrameCpu * out_frame)
inline static

Retrieve the sender-owned CPU frame during an acquired send cycle.

Definition at line 3201 of file qar_streaming.h.

qar_video_sender_frame_d3d11()​

QarResult qar_video_sender_frame_d3d11 (QarVideoSender * sender, QarVideoFrameD3D11 * out_frame)
inline static

Definition at line 3204 of file qar_streaming.h.

qar_video_sender_handle_destroy()​

void qar_video_sender_handle_destroy (QarVideoSender * handle)
inline static

Destroy a logical video sender handle.

Definition at line 3174 of file qar_streaming.h.

qar_video_sender_layout()​

QarResult qar_video_sender_layout (QarVideoSender * sender, QarVideoFrameLayout * out_layout)
inline static

Retrieve or change the CPU ingress layout.

Definition at line 3224 of file qar_streaming.h.

qar_video_sender_show_frame()​

QarResult qar_video_sender_show_frame (QarVideoSender * sender)
inline static

Show the produced frame to the destinations reserved by try_begin_frame.

Definition at line 3241 of file qar_streaming.h.

qar_video_sender_stream_id()​

QarResult qar_video_sender_stream_id (QarVideoSender * sender, QarStreamId * out_stream_id)
inline static

Retrieve the stable logical StreamId.

Definition at line 3221 of file qar_streaming.h.

qar_video_sender_try_begin_frame()​

QarResult qar_video_sender_try_begin_frame (QarVideoSender * sender, bool * out_ready)
inline static

Non-blocking attempt to begin producing a new frame.

Sets out_ready to true when a send cycle was reserved. When false, no frame cycle exists and the caller should poll again later.

Definition at line 3238 of file qar_streaming.h.


Generated via doxygen2docusaurus 2.2.1 by Doxygen 1.9.8.