|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
Unified media source implementation. More...
Go to the source code of this file.
Data Structures | |
| struct | media_source_t |
| Media source for video and audio capture. More... | |
Unified media source implementation.
Definition in file source.c.
| bool media_source_at_end | ( | media_source_t * | source | ) |
Definition at line 646 of file source.c.
References ffmpeg_decoder_at_end(), media_source_t::loop_enabled, media_source_t::type, and media_source_t::video_decoder.
Referenced by session_capture_at_end().
| media_source_t * media_source_create | ( | media_source_type_t | type, |
| const char * | path | ||
| ) |
Definition at line 172 of file source.c.
References media_source_t::audio_decoder, media_source_t::decoder_mutex, ffmpeg_decoder_create(), ffmpeg_decoder_create_stdin(), ffmpeg_decoder_destroy(), ffmpeg_decoder_start_prefetch(), media_source_t::file_path, media_source_t::is_paused, media_source_t::is_shared_decoder, media_source_t::loop_enabled, mutex_destroy(), mutex_init(), media_source_t::original_youtube_url, media_source_t::pause_mutex, platform_strdup(), media_source_t::seek_access_mutex, media_source_t::type, media_source_t::video_decoder, media_source_t::webcam_ctx, media_source_t::webcam_index, and webcam_init_context().
Referenced by session_capture_create(), and session_client_like_run().
| void media_source_destroy | ( | media_source_t * | source | ) |
Definition at line 360 of file source.c.
References media_source_t::audio_decoder, media_source_t::decoder_mutex, ffmpeg_decoder_destroy(), media_source_t::file_path, media_source_t::is_shared_decoder, mutex_destroy(), media_source_t::original_youtube_url, media_source_t::pause_mutex, media_source_t::seek_access_mutex, media_source_t::video_decoder, webcam_cleanup_context(), and media_source_t::webcam_ctx.
Referenced by session_capture_create(), session_capture_destroy(), and session_client_like_run().
| double media_source_get_duration | ( | media_source_t * | source | ) |
Definition at line 838 of file source.c.
References ffmpeg_decoder_get_duration(), media_source_t::type, and media_source_t::video_decoder.
Referenced by session_handle_keyboard_input().
| double media_source_get_position | ( | media_source_t * | source | ) |
Definition at line 860 of file source.c.
References ffmpeg_decoder_get_position(), media_source_t::type, and media_source_t::video_decoder.
Referenced by session_handle_keyboard_input().
| media_source_type_t media_source_get_type | ( | media_source_t * | source | ) |
Definition at line 834 of file source.c.
References media_source_t::type.
Referenced by session_handle_keyboard_input().
| double media_source_get_video_fps | ( | media_source_t * | source | ) |
Definition at line 882 of file source.c.
References ffmpeg_decoder_get_video_fps(), media_source_t::type, and media_source_t::video_decoder.
Referenced by session_client_like_run().
| bool media_source_has_audio | ( | media_source_t * | source | ) |
Definition at line 611 of file source.c.
References media_source_t::audio_decoder, ffmpeg_decoder_has_audio(), and media_source_t::type.
Referenced by session_capture_create(), and session_client_like_run().
| bool media_source_has_video | ( | media_source_t * | source | ) |
Definition at line 503 of file source.c.
References ffmpeg_decoder_has_video(), media_source_t::type, and media_source_t::video_decoder.
| bool media_source_is_paused | ( | media_source_t * | source | ) |
Definition at line 926 of file source.c.
References media_source_t::is_paused, and media_source_t::pause_mutex.
Referenced by session_handle_keyboard_input(), and session_render_loop().
| void media_source_pause | ( | media_source_t * | source | ) |
Definition at line 908 of file source.c.
References media_source_t::is_paused, and media_source_t::pause_mutex.
Referenced by session_capture_read_frame(), and session_render_loop().
| size_t media_source_read_audio | ( | media_source_t * | source, |
| float * | buffer, | ||
| size_t | num_samples | ||
| ) |
Definition at line 526 of file source.c.
References media_source_t::audio_decoder, media_source_t::decoder_mutex, ffmpeg_decoder_at_end(), ffmpeg_decoder_get_position(), ffmpeg_decoder_read_audio_samples(), media_source_t::is_paused, media_source_t::is_shared_decoder, media_source_t::loop_enabled, media_source_rewind(), media_source_t::pause_mutex, media_source_t::seek_access_mutex, and media_source_t::type.
Referenced by session_capture_read_audio().
| image_t * media_source_read_video | ( | media_source_t * | source | ) |
Definition at line 408 of file source.c.
References media_source_t::decoder_mutex, ffmpeg_decoder_at_end(), ffmpeg_decoder_read_video_frame(), media_source_t::is_paused, media_source_t::is_shared_decoder, media_source_t::loop_enabled, media_source_rewind(), media_source_t::pause_mutex, time_elapsed_ns(), time_get_ns(), media_source_t::type, media_source_t::video_decoder, media_source_t::webcam_ctx, webcam_read(), and webcam_read_context().
Referenced by session_capture_read_frame().
| void media_source_resume | ( | media_source_t * | source | ) |
Definition at line 917 of file source.c.
References media_source_t::is_paused, and media_source_t::pause_mutex.
| asciichat_error_t media_source_rewind | ( | media_source_t * | source | ) |
Definition at line 672 of file source.c.
References media_source_t::audio_decoder, media_source_t::decoder_mutex, ffmpeg_decoder_rewind(), media_source_t::is_shared_decoder, media_source_t::type, and media_source_t::video_decoder.
Referenced by media_source_read_audio(), and media_source_read_video().
| asciichat_error_t media_source_seek | ( | media_source_t * | source, |
| double | timestamp_sec | ||
| ) |
Definition at line 757 of file source.c.
References media_source_t::audio_ctx, media_source_t::audio_decoder, audio_ring_buffer_clear(), ffmpeg_decoder_get_position(), ffmpeg_decoder_seek_to_timestamp(), media_source_t::is_shared_decoder, time_elapsed_ns(), time_get_ns(), media_source_t::type, and media_source_t::video_decoder.
Referenced by session_capture_create(), and session_handle_keyboard_input().
| void media_source_set_audio_context | ( | media_source_t * | source, |
| void * | audio_ctx | ||
| ) |
Definition at line 945 of file source.c.
References media_source_t::audio_ctx.
Referenced by session_client_like_run().
| void media_source_set_loop | ( | media_source_t * | source, |
| bool | loop | ||
| ) |
Definition at line 634 of file source.c.
References media_source_t::loop_enabled, and media_source_t::type.
Referenced by session_capture_create().
| asciichat_error_t media_source_sync_audio_to_video | ( | media_source_t * | source | ) |
Definition at line 723 of file source.c.
References media_source_t::is_shared_decoder, and media_source_t::type.
Referenced by session_capture_sync_audio_to_video().
| void media_source_toggle_pause | ( | media_source_t * | source | ) |
Definition at line 936 of file source.c.
References media_source_t::is_paused, and media_source_t::pause_mutex.
Referenced by session_handle_keyboard_input().