ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
multi_source_frame_t Struct Reference

One variable-length payload in the video ring buffer. More...

#include <include/ascii-chat/ringbuffer.h>

Data Fields

uint64_t magic
 Magic number to detect corruption (FRAME_MAGIC when valid).
char source_client_id [MAX_CLIENT_ID_LEN]
 Client ID that sent this frame.
uint32_t frame_sequence
 Frame sequence number for ordering.
uint32_t timestamp
 Timestamp when frame was captured.
size_t size
 Actual size of frame data in bytes.
char * data
 Owning frame payload; release with buffer_release() after reading.

Detailed Description

One variable-length payload in the video ring buffer.

Queue record for a frame assembled from multiple media sources. frame_sequence, timestamp, size, and data identify the payload and its lifetime; the producer owns the data until the consumer finishes processing the record.

Multi-source frame structure for multi-user support

Tracks which client sent the frame along with metadata including sequence numbers and timestamps for proper frame ordering and display.

Definition at line 412 of file ringbuffer.h.

Field Documentation

◆ data

char* multi_source_frame_t::data

Owning frame payload; release with buffer_release() after reading.

Definition at line 424 of file ringbuffer.h.

Referenced by framebuffer_peek_latest_multi_frame(), and framebuffer_read_multi_frame().

◆ frame_sequence

uint32_t multi_source_frame_t::frame_sequence

Frame sequence number for ordering.

Definition at line 418 of file ringbuffer.h.

◆ magic

uint64_t multi_source_frame_t::magic

Magic number to detect corruption (FRAME_MAGIC when valid).

Definition at line 414 of file ringbuffer.h.

Referenced by framebuffer_peek_latest_multi_frame(), and framebuffer_read_multi_frame().

◆ size

size_t multi_source_frame_t::size

Actual size of frame data in bytes.

Definition at line 422 of file ringbuffer.h.

Referenced by framebuffer_peek_latest_multi_frame(), and framebuffer_read_multi_frame().

◆ source_client_id

char multi_source_frame_t::source_client_id[MAX_CLIENT_ID_LEN]

Client ID that sent this frame.

Definition at line 416 of file ringbuffer.h.

Referenced by framebuffer_peek_latest_multi_frame(), framebuffer_read_multi_frame(), and framebuffer_write_multi_frame().

◆ timestamp

uint32_t multi_source_frame_t::timestamp

Timestamp when frame was captured.

Definition at line 420 of file ringbuffer.h.


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