ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
media_source_t Struct Reference

Media source for video and audio capture. More...

Data Fields

media_source_type_t type
 Type of media source (webcam, file, stdin, test)
 
bool loop_enabled
 Whether to loop playback (for files)
 
bool audio_only
 File audio uses the selected webcam for video.
 
bool is_paused
 Whether playback is paused.
 
webcam_context_t * webcam_ctx
 Webcam context (NULL for non-webcam types)
 
unsigned short int webcam_index
 Webcam device index.
 
ffmpeg_decoder_t * video_decoder
 Video decoder (separate or shared with audio)
 
ffmpeg_decoder_t * audio_decoder
 Audio decoder (separate or shared with video)
 
bool is_shared_decoder
 True if both streams share same decoder (YouTube URLs)
 
mutex_t decoder_mutex
 Protects shared decoder access (YouTube URLs)
 
mutex_t seek_access_mutex
 Protects decoder access during seeks.
 
mutex_t pause_mutex
 Protects pause state.
 
char * file_path
 File path (for FILE type)
 
char * original_youtube_url
 Original YouTube URL for re-extraction.
 
void * audio_ctx
 Audio context for clearing buffers on seek (opaque)
 
image_t * test_pattern_frame
 Reusable 320x240 frame buffer for test pattern.
 
unsigned int test_frame_counter
 Animation phase counter for test pattern.
 

Detailed Description

Media source for video and audio capture.

Abstracts multiple media input types (webcam, files, stdin, test patterns) with unified interface for frame/audio reading.

Definition at line 34 of file source.c.

Field Documentation

◆ audio_ctx

void* media_source_t::audio_ctx

Audio context for clearing buffers on seek (opaque)

Definition at line 59 of file source.c.

Referenced by media_source_seek(), and media_source_set_audio_context().

◆ audio_decoder

◆ audio_only

bool media_source_t::audio_only

◆ decoder_mutex

mutex_t media_source_t::decoder_mutex

Protects shared decoder access (YouTube URLs)

Definition at line 50 of file source.c.

Referenced by media_source_create(), media_source_destroy(), media_source_read_audio(), media_source_read_video(), and media_source_rewind().

◆ file_path

char* media_source_t::file_path

File path (for FILE type)

Definition at line 55 of file source.c.

Referenced by media_source_create(), and media_source_destroy().

◆ is_paused

bool media_source_t::is_paused

◆ is_shared_decoder

bool media_source_t::is_shared_decoder

True if both streams share same decoder (YouTube URLs)

Definition at line 47 of file source.c.

Referenced by media_source_create(), media_source_destroy(), media_source_read_audio(), media_source_read_video(), media_source_rewind(), and media_source_seek().

◆ loop_enabled

bool media_source_t::loop_enabled

Whether to loop playback (for files)

Definition at line 36 of file source.c.

Referenced by media_source_at_end(), media_source_create(), media_source_read_audio(), media_source_read_video(), and media_source_set_loop().

◆ original_youtube_url

char* media_source_t::original_youtube_url

Original YouTube URL for re-extraction.

Definition at line 56 of file source.c.

Referenced by media_source_create(), and media_source_destroy().

◆ pause_mutex

◆ seek_access_mutex

mutex_t media_source_t::seek_access_mutex

Protects decoder access during seeks.

Definition at line 51 of file source.c.

Referenced by media_source_create(), media_source_destroy(), and media_source_read_audio().

◆ test_frame_counter

unsigned int media_source_t::test_frame_counter

Animation phase counter for test pattern.

Definition at line 63 of file source.c.

Referenced by media_source_create().

◆ test_pattern_frame

image_t* media_source_t::test_pattern_frame

Reusable 320x240 frame buffer for test pattern.

Definition at line 62 of file source.c.

Referenced by media_source_create(), and media_source_destroy().

◆ type

◆ video_decoder

◆ webcam_ctx

webcam_context_t* media_source_t::webcam_ctx

Webcam context (NULL for non-webcam types)

Definition at line 41 of file source.c.

Referenced by media_source_create(), media_source_destroy(), media_source_read_video(), and media_source_start_video().

◆ webcam_index

unsigned short int media_source_t::webcam_index

Webcam device index.

Definition at line 42 of file source.c.

Referenced by media_source_create(), and media_source_start_video().


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