ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
video_frame_t Struct Reference

Video frame structure. More...

#include <lib/video/video_frame.h>

Data Fields

Frame Data
void * data
 Frame data pointer (points to pre-allocated buffer)
 
size_t size
 Size of frame data in bytes.
 
Frame Dimensions
uint32_t width
 Frame width in pixels.
 
uint32_t height
 Frame height in pixels.
 
Timing Information
uint64_t capture_timestamp_us
 Timestamp when frame was captured (microseconds)
 
uint64_t receive_timestamp_us
 Timestamp when frame was received (microseconds)
 
uint64_t sequence_number
 Frame sequence number (for drop detection)
 
Quality Metrics
uint32_t encoding_time_us
 Time taken to encode/decode frame (microseconds)
 
bool is_keyframe
 True if this is a keyframe (important frame)
 

Detailed Description

Video frame structure.

Represents a single video frame with data, dimensions, timing, and quality metrics. Frame data points to pre-allocated buffers managed by the frame buffer system.

Note
Frame data is not owned by this structure - it points to pre-allocated buffers that are reused across frames.
Sequence numbers are used to detect dropped frames (gaps in sequence).
Timestamps are in microseconds for high precision timing.

Definition at line 115 of file video_frame.h.

Field Documentation

◆ capture_timestamp_us

uint64_t video_frame_t::capture_timestamp_us

Timestamp when frame was captured (microseconds)

Definition at line 133 of file video_frame.h.

Referenced by client_video_render_thread(), handle_image_frame_packet(), and simple_frame_swap_update().

◆ data

◆ encoding_time_us

uint32_t video_frame_t::encoding_time_us

Time taken to encode/decode frame (microseconds)

Definition at line 141 of file video_frame.h.

◆ height

uint32_t video_frame_t::height

Frame height in pixels.

Definition at line 127 of file video_frame.h.

Referenced by handle_image_frame_packet().

◆ is_keyframe

bool video_frame_t::is_keyframe

True if this is a keyframe (important frame)

Definition at line 142 of file video_frame.h.

◆ receive_timestamp_us

uint64_t video_frame_t::receive_timestamp_us

Timestamp when frame was received (microseconds)

Definition at line 134 of file video_frame.h.

◆ sequence_number

uint64_t video_frame_t::sequence_number

Frame sequence number (for drop detection)

Definition at line 135 of file video_frame.h.

Referenced by handle_image_frame_packet().

◆ size

size_t video_frame_t::size

Size of frame data in bytes.

Definition at line 120 of file video_frame.h.

Referenced by client_video_render_thread(), handle_image_frame_packet(), simple_frame_swap_update(), and video_frame_buffer_create().

◆ width

uint32_t video_frame_t::width

Frame width in pixels.

Definition at line 126 of file video_frame.h.

Referenced by handle_image_frame_packet().


The documentation for this struct was generated from the following file: