VLC 4.0.0-dev
Loading...
Searching...
No Matches
input.c File Reference
Include dependency graph for input.c:

Macros

#define RETRY_TIMEOUT_BASE   VLC_TICK_FROM_MS(100)
 
#define RETRY_TIMEOUT_MAX   VLC_TICK_FROM_MS(3200)
 
#define MAX_EOS_BURST   4
 

Functions

struct vlc_player_track_privvlc_player_input_FindTrackById (struct vlc_player_input *input, vlc_es_id_t *id, size_t *idx)
 
static void vlc_player_input_HandleAtoBLoop (struct vlc_player_input *input, vlc_tick_t time, double pos)
 
vlc_tick_t vlc_player_input_GetTime (struct vlc_player_input *input, bool seeking, vlc_tick_t system_now)
 
double vlc_player_input_GetPos (struct vlc_player_input *input, bool seeking, vlc_tick_t system_now)
 
static void vlc_player_input_UpdateTime (struct vlc_player_input *input)
 
int vlc_player_input_Start (struct vlc_player_input *input)
 
static void vlc_player_assert_seek_params (enum vlc_player_seek_speed speed, enum vlc_player_whence whence)
 
void vlc_player_input_SeekByPos (struct vlc_player_input *input, double position, enum vlc_player_seek_speed speed, enum vlc_player_whence whence)
 
void vlc_player_input_SeekByTime (struct vlc_player_input *input, vlc_tick_t time, enum vlc_player_seek_speed speed, enum vlc_player_whence whence)
 
void vlc_player_input_UpdateViewpoint (struct vlc_player_input *input, const vlc_viewpoint_t *viewpoint, enum vlc_player_whence whence)
 
static bool vlc_player_WaitRetryDelay (vlc_player_t *player)
 
void vlc_player_input_HandleState (struct vlc_player_input *input, enum vlc_player_state state, vlc_tick_t state_date)
 
static void vlc_player_input_HandleStateEvent (struct vlc_player_input *input, input_state_e state, vlc_tick_t state_date)
 
static void vlc_player_input_HandleProgramEvent (struct vlc_player_input *input, const struct vlc_input_event_program *ev)
 
static const struct vlc_player_track_privvlc_player_FindTeletextSource (const struct vlc_player_input *input, const struct vlc_player_track_priv *exclude, bool selected)
 
static unsigned vlc_player_input_TeletextUserPage (const struct vlc_player_track_priv *t)
 
static void vlc_player_input_HandleTeletextMenu (struct vlc_player_input *input, const struct vlc_input_event_es *ev, const struct vlc_player_track_priv *trackpriv)
 
static void vlc_player_input_HandleEsEvent (struct vlc_player_input *input, const struct vlc_input_event_es *ev)
 
static void vlc_player_input_HandleTitleEvent (struct vlc_player_input *input, const struct vlc_input_event_title *ev)
 
static void vlc_player_input_HandleChapterEvent (struct vlc_player_input *input, const struct vlc_input_event_chapter *ev)
 
static void vlc_player_input_HandleVoutEvent (struct vlc_player_input *input, const struct vlc_input_event_vout *ev)
 
static void vlc_player_input_NavigationFallback (struct vlc_player_input *input, int nav_type)
 
static void input_thread_Events (input_thread_t *input_thread, const struct vlc_input_event *event, void *user_data)
 
void vlc_player_input_SelectTracksByStringIds (struct vlc_player_input *input, enum es_format_category_e cat, const char *str_ids)
 
char * vlc_player_input_GetSelectedTrackStringIds (struct vlc_player_input *input, enum es_format_category_e cat)
 
struct vlc_player_inputvlc_player_input_New (vlc_player_t *player, input_item_t *item)
 
void vlc_player_input_Delete (struct vlc_player_input *input)
 

Macro Definition Documentation

◆ MAX_EOS_BURST

#define MAX_EOS_BURST   4

◆ RETRY_TIMEOUT_BASE

#define RETRY_TIMEOUT_BASE   VLC_TICK_FROM_MS(100)

◆ RETRY_TIMEOUT_MAX

#define RETRY_TIMEOUT_MAX   VLC_TICK_FROM_MS(3200)

Function Documentation

◆ input_thread_Events()

static void input_thread_Events ( input_thread_t input_thread,
const struct vlc_input_event event,
void *  user_data 
)
static

References vlc_input_event_attachments::array, vlc_input_event::attachments, vlc_input_event::cache, vlc_player_input::cache, vlc_player_input::capabilities, vlc_input_event::chapter, vlc_input_event_attachments::count, vlc_input_event_state::date, vlc_input_event::es, vlc_input_event_output_clock::frame_rate, vlc_input_event_output_clock::frame_rate_base, vlc_input_event_output_clock::id, INPUT_EVENT_ATTACHMENTS, INPUT_EVENT_CACHE, INPUT_EVENT_CAPABILITIES, INPUT_EVENT_CHAPTER, INPUT_EVENT_DEAD, INPUT_EVENT_ES, INPUT_EVENT_ITEM_EPG, INPUT_EVENT_ITEM_INFO, INPUT_EVENT_ITEM_META, INPUT_EVENT_NAV_FAILED, INPUT_EVENT_OUTPUT_CLOCK, INPUT_EVENT_PROGRAM, INPUT_EVENT_RATE, INPUT_EVENT_RECORD, INPUT_EVENT_SIGNAL, INPUT_EVENT_STATE, INPUT_EVENT_STATISTICS, INPUT_EVENT_SUBITEMS, INPUT_EVENT_TIMES, INPUT_EVENT_TITLE, INPUT_EVENT_VBI_PAGE, INPUT_EVENT_VBI_TRANSPARENCY, INPUT_EVENT_VOUT, input_GetItem(), input_item_SetDuration(), vlc_input_event_times::length, vlc_player_input::length, vlc_player_t::lock, vlc_input_event_output_clock::master, vlc_input_event::nav_type, vlc_input_event_times::normal_time, vlc_player_input::normal_time, vlc_input_event::output_clock, vlc_player_input::player, vlc_player_timer_point::position, vlc_input_event_times::position, vlc_player_input::position, vlc_input_event::program, vlc_player_input::rate, vlc_player_input::recording, vlc_player_input::signal_quality, vlc_player_input::signal_strength, vlc_player_input::started, vlc_input_event::state, vlc_player_input::stats, vlc_input_event::subitems, vlc_player_timer_point::system_date, vlc_input_event_output_clock::system_ts, vlc_player_input::teletext_page, vlc_player_input::teletext_transparent, vlc_player_input::thread, vlc_input_event_times::time, vlc_player_input::time, vlc_input_event::times, vlc_input_event::title, vlc_input_event::type, vlc_input_event_state::value, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_player_destructor_AddJoinableInput(), vlc_player_input_HandleChapterEvent(), vlc_player_input_HandleEsEvent(), vlc_player_input_HandleProgramEvent(), vlc_player_input_HandleState(), vlc_player_input_HandleStateEvent(), vlc_player_input_HandleTitleEvent(), vlc_player_input_HandleVoutEvent(), vlc_player_input_NavigationFallback(), vlc_player_input_UpdateTime(), vlc_player_SendEvent, VLC_PLAYER_STATE_STOPPING, VLC_PLAYER_TIMER_STATE_DISCONTINUITY, vlc_player_UpdateTimer(), vlc_player_UpdateTimerState(), VLC_TICK_INVALID, vlc_tick_now(), and vlc_input_event::vout.

Referenced by vlc_player_input_New().

◆ vlc_player_assert_seek_params()

static void vlc_player_assert_seek_params ( enum vlc_player_seek_speed  speed,
enum vlc_player_whence  whence 
)
inlinestatic

◆ vlc_player_FindTeletextSource()

static const struct vlc_player_track_priv * vlc_player_FindTeletextSource ( const struct vlc_player_input input,
const struct vlc_player_track_priv exclude,
bool  selected 
)
static

◆ vlc_player_input_Delete()

◆ vlc_player_input_FindTrackById()

◆ vlc_player_input_GetPos()

◆ vlc_player_input_GetSelectedTrackStringIds()

◆ vlc_player_input_GetTime()

◆ vlc_player_input_HandleAtoBLoop()

◆ vlc_player_input_HandleChapterEvent()

◆ vlc_player_input_HandleEsEvent()

◆ vlc_player_input_HandleProgramEvent()

◆ vlc_player_input_HandleState()

◆ vlc_player_input_HandleStateEvent()

◆ vlc_player_input_HandleTeletextMenu()

◆ vlc_player_input_HandleTitleEvent()

◆ vlc_player_input_HandleVoutEvent()

◆ vlc_player_input_NavigationFallback()

◆ vlc_player_input_New()

struct vlc_player_input * vlc_player_input_New ( vlc_player_t player,
input_item_t item 
)

References vlc_player_input::abloop_state, vlc_ml_playback_states_all::aspect_ratio, AUDIO_ES, vlc_player_t::audio_string_ids, vlc_player_input::audio_track_vector, vlc_player_input::cache, vlc_player_input::capabilities, vlc_player_input::cat_delays, vlc_player_input::chapter_selected, vlc_ml_playback_states_all::crop, vlc_ml_playback_states_all::current_audio_track, vlc_ml_playback_states_all::current_subtitle_track, vlc_ml_playback_states_all::current_title, vlc_ml_playback_states_all::current_video_track, DATA_ES, vlc_ml_playback_states_all::deinterlace, vlc_player_input::delay_restore, vlc_player_input::error, vlc_player_input::has_audio_tracks, vlc_player_input::has_video_tracks, input_Create, input_SetEsCatDelay(), input_thread_Events(), INPUT_TYPE_NONE, vlc_player_input::length, vlc_player_input::ml, vlc_player_input::normal_time, vlc_player_input::pause_date, vlc_player_input::player, vlc_player_input::playing, vlc_player_input::pos, vlc_player_input::position, vlc_player_input::program_vector, vlc_player_input::rate, vlc_player_input::recording, vlc_player_t::renderer, vlc_player_t::resource, vlc_player_input::restore, vlc_player_input::restore_states, vlc_player_input::set, vlc_player_input::signal_quality, vlc_player_input::signal_strength, SPU_ES, vlc_player_input::spu_track_vector, vlc_player_input::started, vlc_player_input::state, vlc_player_input::states, vlc_player_input::stats, vlc_player_t::sub_string_ids, vlc_player_input::teletext_enabled, vlc_player_input::teletext_page, vlc_player_input::teletext_source, vlc_player_input::teletext_transparent, vlc_player_input::thread, vlc_player_input::time, vlc_player_input::title_selected, vlc_player_input::titles, UNKNOWN_ES, var_InheritInteger(), VIDEO_ES, vlc_ml_playback_states_all::video_filter, vlc_player_t::video_string_ids, vlc_player_input::video_track_vector, VLC_PLAYER_ERROR_NONE, vlc_player_input_RestoreMlStates(), vlc_player_input_SelectTracksByStringIds(), vlc_player_SendEvent, VLC_PLAYER_STATE_STOPPED, vlc_player_input::VLC_RESTOREPOINT_NONE, VLC_SUCCESS, VLC_TICK_0, VLC_TICK_FROM_MS, vlc_tick_from_samples(), VLC_TICK_INVALID, and vlc_vector_init.

Referenced by vlc_player_OpenNextMedia(), and vlc_player_Start().

◆ vlc_player_input_SeekByPos()

◆ vlc_player_input_SeekByTime()

◆ vlc_player_input_SelectTracksByStringIds()

void vlc_player_input_SelectTracksByStringIds ( struct vlc_player_input input,
enum es_format_category_e  cat,
const char *  str_ids 
)

◆ vlc_player_input_Start()

int vlc_player_input_Start ( struct vlc_player_input input)

◆ vlc_player_input_TeletextUserPage()

◆ vlc_player_input_UpdateTime()

◆ vlc_player_input_UpdateViewpoint()

◆ vlc_player_WaitRetryDelay()