ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
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 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_tvideo_decoder
 Video decoder (separate or shared with audio)
 
ffmpeg_decoder_taudio_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)
 

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 31 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 55 of file source.c.

Referenced by media_source_seek(), and media_source_set_audio_context().

◆ audio_decoder

ffmpeg_decoder_t* media_source_t::audio_decoder

Audio decoder (separate or shared with video)

Definition at line 42 of file source.c.

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

◆ decoder_mutex

mutex_t media_source_t::decoder_mutex

Protects shared decoder access (YouTube URLs)

Definition at line 46 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 51 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 43 of file source.c.

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

◆ loop_enabled

bool media_source_t::loop_enabled

Whether to loop playback (for files)

Definition at line 33 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 52 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 47 of file source.c.

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

◆ type

◆ video_decoder

◆ webcam_ctx

webcam_context_t* media_source_t::webcam_ctx

Webcam context (NULL for non-webcam types)

Definition at line 37 of file source.c.

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

◆ webcam_index

unsigned short int media_source_t::webcam_index

Webcam device index.

Definition at line 38 of file source.c.

Referenced by media_source_create().


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