VLC 4.0.0-dev
|
Functions | |
void | vlc_player_ResetTimer (vlc_player_t *player) |
static void | vlc_player_SendTimerSeek (vlc_player_t *player, struct vlc_player_timer_source *source, const struct vlc_player_timer_point *point) |
static void | vlc_player_SendTimerSourceUpdates (vlc_player_t *player, struct vlc_player_timer_source *source, bool force_update, const struct vlc_player_timer_point *point) |
static void | vlc_player_SendSmpteTimerSourceUpdates (vlc_player_t *player, struct vlc_player_timer_source *source, const struct vlc_player_timer_point *point) |
static void | vlc_player_UpdateSmpteTimerFPS (vlc_player_t *player, struct vlc_player_timer_source *source, unsigned frame_rate, unsigned frame_rate_base) |
void | vlc_player_UpdateTimerEvent (vlc_player_t *player, vlc_es_id_t *es_source, enum vlc_player_timer_event event, vlc_tick_t system_date) |
void | vlc_player_UpdateTimerSeekState (vlc_player_t *player, vlc_tick_t time, double position) |
static void | vlc_player_UpdateTimerSource (vlc_player_t *player, struct vlc_player_timer_source *source, double rate, vlc_tick_t ts, vlc_tick_t system_date) |
static void | vlc_player_UpdateTimerBestSource (vlc_player_t *player, vlc_es_id_t *es_source, bool es_source_is_master, const struct vlc_player_timer_point *point, vlc_tick_t system_date, bool force_update) |
static void | vlc_player_UpdateTimerSmpteSource (vlc_player_t *player, vlc_es_id_t *es_source, const struct vlc_player_timer_point *point, vlc_tick_t system_date, unsigned frame_rate, unsigned frame_rate_base) |
void | vlc_player_UpdateTimer (vlc_player_t *player, vlc_es_id_t *es_source, bool es_source_is_master, const struct vlc_player_timer_point *point, vlc_tick_t normal_time, unsigned frame_rate, unsigned frame_rate_base, vlc_tick_t start_offset) |
void | vlc_player_RemoveTimerSource (vlc_player_t *player, vlc_es_id_t *es_source) |
int | vlc_player_GetTimerPoint (vlc_player_t *player, bool seeking, vlc_tick_t system_now, vlc_tick_t *out_ts, double *out_pos) |
vlc_player_timer_id * | vlc_player_AddTimer (vlc_player_t *player, vlc_tick_t min_period, const struct vlc_player_timer_cbs *cbs, void *data) |
Add a timer in order to get times updates. | |
vlc_player_timer_id * | vlc_player_AddSmpteTimer (vlc_player_t *player, const struct vlc_player_timer_smpte_cbs *cbs, void *data) |
Add a smpte timer in order to get accurate video frame updates. | |
void | vlc_player_RemoveTimer (vlc_player_t *player, vlc_player_timer_id *timer) |
Remove a player timer. | |
int | vlc_player_timer_point_Interpolate (const struct vlc_player_timer_point *point, vlc_tick_t system_now, vlc_tick_t *out_ts, double *out_pos) |
Interpolate the last timer value to now. | |
vlc_tick_t | vlc_player_timer_point_GetNextIntervalDate (const struct vlc_player_timer_point *point, vlc_tick_t system_now, vlc_tick_t interpolated_ts, vlc_tick_t next_interval) |
Get the date of the next interval. | |
void | vlc_player_InitTimer (vlc_player_t *player) |
void | vlc_player_DestroyTimer (vlc_player_t *player) |
void vlc_player_DestroyTimer | ( | vlc_player_t * | player | ) |
References vlc_player_timer_source::listeners, vlc_player_timer::sources, vlc_player_t::timer, vlc_list_is_empty(), and VLC_PLAYER_TIMER_TYPE_COUNT.
Referenced by vlc_player_Delete(), and vlc_player_New().
int vlc_player_GetTimerPoint | ( | vlc_player_t * | player, |
bool | seeking, | ||
vlc_tick_t | system_now, | ||
vlc_tick_t * | out_ts, | ||
double * | out_pos | ||
) |
References vlc_player_timer::lock, vlc_player_timer::seek_position, vlc_player_timer::seek_ts, vlc_player_t::timer, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_player_timer_point_Interpolate(), VLC_SUCCESS, and VLC_TICK_INVALID.
Referenced by vlc_player_input_GetPos(), and vlc_player_input_GetTime().
void vlc_player_InitTimer | ( | vlc_player_t * | player | ) |
References vlc_player_timer_source::es, vlc_player_timer_source::listeners, vlc_player_timer::lock, vlc_player_timer_source::point, vlc_player_timer::sources, vlc_player_timer_point::system_date, vlc_player_t::timer, vlc_list_init(), vlc_mutex_init(), vlc_player_ResetTimer(), VLC_PLAYER_TIMER_TYPE_COUNT, and VLC_TICK_INVALID.
Referenced by vlc_player_New().
void vlc_player_RemoveTimerSource | ( | vlc_player_t * | player, |
vlc_es_id_t * | es_source | ||
) |
References vlc_player_timer_source::es, vlc_player_timer::lock, vlc_player_timer_source::point, vlc_player_timer::seeking, vlc_player_timer::sources, vlc_player_timer_point::system_date, vlc_player_t::timer, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_player_SendTimerSeek(), VLC_PLAYER_TIMER_TYPE_COUNT, and VLC_TICK_INVALID.
Referenced by vlc_player_input_HandleEsEvent().
void vlc_player_ResetTimer | ( | vlc_player_t * | player | ) |
References vlc_player_timer::input_length, vlc_player_timer::input_normal_time, vlc_player_timer::input_position, vlc_player_timer::last_ts, vlc_player_timer::lock, vlc_player_timer::paused, vlc_player_timer::seek_position, vlc_player_timer::seek_ts, vlc_player_timer::seeking, vlc_player_timer::start_offset, vlc_player_timer::stopping, vlc_player_t::timer, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_TICK_0, and VLC_TICK_INVALID.
Referenced by vlc_player_InitTimer(), and vlc_player_input_HandleState().
|
static |
References vlc_player_timer_id::data, vlc_player_timer_source::df, vlc_player_timer_source::df_fps, vlc_player_timer_smpte_timecode::drop_frame, vlc_player_timer_source::frame_rate, vlc_player_timer_source::frame_rate_base, vlc_player_timer_smpte_timecode::frame_resolution, vlc_player_timer_source::frame_resolution, vlc_player_timer_smpte_timecode::frames, vlc_player_timer_source::frames_per_10mins, vlc_player_timer_smpte_timecode::hours, vlc_player_timer_source::last_framenum, vlc_player_timer_source::listeners, vlc_player_timer_smpte_timecode::minutes, vlc_player_timer_smpte_cbs::on_update, vlc_player_timer_smpte_timecode::seconds, vlc_player_timer_source::smpte, vlc_player_timer_id::smpte_cbs, vlc_player_timer_point::ts, vlc_list_foreach, and VLC_TICK_FROM_SEC.
Referenced by vlc_player_UpdateTimerSmpteSource().
|
static |
|
static |
References vlc_player_timer_id::cbs, vlc_player_timer_id::data, vlc_player_timer_id::last_update_date, vlc_player_timer_source::listeners, vlc_player_timer_cbs::on_update, vlc_player_timer_id::period, vlc_player_timer_point::system_date, vlc_list_foreach, VLC_TICK_INVALID, and VLC_TICK_MAX.
Referenced by vlc_player_UpdateTimerBestSource().
|
static |
References vlc_player_timer_source::df, vlc_player_timer_source::df_fps, vlc_player_timer_source::frame_rate, vlc_player_timer_source::frame_rate_base, vlc_player_timer_source::frame_resolution, vlc_player_timer_source::frames_per_10mins, and vlc_player_timer_source::smpte.
Referenced by vlc_player_UpdateTimerSmpteSource().
void vlc_player_UpdateTimer | ( | vlc_player_t * | player, |
vlc_es_id_t * | es_source, | ||
bool | es_source_is_master, | ||
const struct vlc_player_timer_point * | point, | ||
vlc_tick_t | normal_time, | ||
unsigned | frame_rate, | ||
unsigned | frame_rate_base, | ||
vlc_tick_t | start_offset | ||
) |
References vlc_player_timer_source::frame_rate, vlc_player_timer_source::frame_rate_base, vlc_player_timer::input_length, vlc_player_timer::input_normal_time, vlc_player_timer::input_position, vlc_player_timer::last_ts, vlc_player_timer_point::length, vlc_player_timer::lock, vlc_player_timer::paused, vlc_player_timer_source::point, vlc_player_timer_point::position, vlc_player_timer::start_offset, vlc_player_timer::stopping, vlc_player_timer_point::system_date, vlc_player_t::timer, vlc_player_timer_point::ts, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_player_UpdateTimerBestSource(), vlc_player_UpdateTimerSmpteSource(), VLC_TICK_0, VLC_TICK_INVALID, and VLC_TICK_MAX.
Referenced by input_thread_Events().
|
static |
References vlc_player_timer_source::es, vlc_player_timer::last_ts, vlc_player_timer_source::listeners, vlc_player_timer::paused, vlc_player_timer_source::point, vlc_player_timer_point::rate, vlc_player_timer::seek_position, vlc_player_timer::seek_ts, vlc_player_timer::seeking, vlc_player_timer_point::system_date, vlc_player_t::timer, vlc_player_timer_point::ts, vlc_list_is_empty(), vlc_player_SendTimerSourceUpdates(), vlc_player_UpdateTimerSource(), VLC_TICK_INVALID, and VLC_TICK_MAX.
Referenced by vlc_player_UpdateTimer().
void vlc_player_UpdateTimerEvent | ( | vlc_player_t * | player, |
vlc_es_id_t * | es_source, | ||
enum vlc_player_timer_event | event, | ||
vlc_tick_t | system_date | ||
) |
References vlc_player_timer_id::cbs, vlc_player_timer_id::data, vlc_player_timer_source::es, vlc_player_timer_id::last_update_date, vlc_player_timer_source::listeners, vlc_player_timer::lock, vlc_player_timer_cbs::on_paused, vlc_player_timer::paused, vlc_player_timer_source::point, vlc_player_timer::seeking, vlc_player_timer::sources, vlc_player_timer::stopping, vlc_player_timer_point::system_date, vlc_player_t::timer, vlc_assert_unreachable, vlc_list_foreach, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_player_SendTimerSeek(), VLC_PLAYER_TIMER_EVENT_DISCONTINUITY, VLC_PLAYER_TIMER_EVENT_PAUSED, VLC_PLAYER_TIMER_EVENT_PLAYING, VLC_PLAYER_TIMER_EVENT_STOPPING, VLC_PLAYER_TIMER_TYPE_COUNT, and VLC_TICK_INVALID.
Referenced by input_thread_Events(), and vlc_player_input_HandleState().
void vlc_player_UpdateTimerSeekState | ( | vlc_player_t * | player, |
vlc_tick_t | time, | ||
double | position | ||
) |
References vlc_player_timer_point::length, vlc_player_timer::lock, vlc_player_timer_source::point, vlc_player_timer_point::position, vlc_player_timer_point::rate, vlc_player_timer::seek_position, vlc_player_timer::seek_ts, vlc_player_timer::seeking, vlc_player_t::timer, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_player_SendTimerSeek(), VLC_TICK_INVALID, and VLC_TICK_MAX.
Referenced by vlc_player_input_SeekByPos(), and vlc_player_input_SeekByTime().
|
static |
References vlc_player_timer_source::es, vlc_player_timer_source::frame_rate, vlc_player_timer_source::frame_rate_base, vlc_player_timer::last_ts, vlc_player_timer_source::listeners, vlc_player_timer_source::point, vlc_player_timer_point::rate, vlc_player_timer_source::smpte, vlc_player_t::timer, vlc_player_timer_point::ts, VIDEO_ES, vlc_es_id_GetCat(), vlc_list_is_empty(), vlc_player_SendSmpteTimerSourceUpdates(), vlc_player_UpdateSmpteTimerFPS(), vlc_player_UpdateTimerSource(), and VLC_TICK_INVALID.
Referenced by vlc_player_UpdateTimer().
|
static |
References vlc_player_timer::input_length, vlc_player_timer::input_normal_time, vlc_player_timer::input_position, vlc_player_timer_point::length, vlc_player_timer_source::point, vlc_player_timer_point::position, vlc_player_timer_point::rate, vlc_player_timer::start_offset, vlc_player_timer_point::system_date, vlc_player_t::timer, vlc_player_timer_point::ts, VLC_TICK_0, VLC_TICK_INVALID, and VLC_TICK_MAX.
Referenced by vlc_player_UpdateTimerBestSource(), and vlc_player_UpdateTimerSmpteSource().