53 unsigned frame_rate,
unsigned frame_rate_base,
155 const char *track_str_id,
192 const char *track_str_id,
237 unsigned frame_rate,
unsigned frame_rate_base);
331 double rate, uint32_t *clock_id);
void vlc_clock_Unlock(vlc_clock_t *clock)
Unlock the clock mutex.
Definition clock.c:676
vlc_tick_t vlc_clock_UpdateVideo(vlc_clock_t *clock, vlc_tick_t system_now, vlc_tick_t ts, double rate, unsigned frame_rate, unsigned frame_rate_base)
This function will update the video clock drift and returns the drift.
Definition clock.c:879
void vlc_clock_main_Delete(vlc_clock_main_t *main_clock)
Destroy the clock main.
Definition clock.c:841
void vlc_clock_main_Reset(vlc_clock_main_t *main_clock)
Reset the vlc_clock_main_t.
Definition clock.c:753
vlc_clock_t * vlc_clock_main_CreateSlave(vlc_clock_main_t *main_clock, const char *track_str_id, enum es_format_category_e cat, const struct vlc_clock_cbs *cbs, void *cbs_data)
This function creates a new slave vlc_clock_t interface.
Definition clock.c:1037
void vlc_clock_Delete(vlc_clock_t *clock)
This function free the resources allocated by vlc_clock*Create*()
Definition clock.c:1079
void vlc_clock_Lock(vlc_clock_t *clock)
Lock the clock mutex.
Definition clock.c:670
vlc_tick_t vlc_clock_ConvertToSystem(vlc_clock_t *clock, vlc_tick_t system_now, vlc_tick_t ts, double rate, uint32_t *clock_id)
This function converts a timestamp from stream to system.
Definition clock.c:903
vlc_tick_t vlc_clock_Update(vlc_clock_t *clock, vlc_tick_t system_now, vlc_tick_t ts, double rate)
This function will update the clock drift and returns the drift.
Definition clock.c:869
void vlc_clock_Reset(vlc_clock_t *clock)
This function resets the clock drift.
Definition clock.c:891
vlc_clock_t * vlc_clock_main_CreateInputMaster(vlc_clock_main_t *main_clock)
This function creates a new input master vlc_clock_t interface.
Definition clock.c:993
void vlc_clock_main_Unlock(vlc_clock_main_t *main_clock)
Unlock the main_clock mutex.
Definition clock.c:863
void vlc_clock_main_ChangePause(vlc_clock_main_t *clock, vlc_tick_t system_now, bool paused)
This function allows changing the pause status.
Definition clock.c:809
int vlc_clock_Wait(vlc_clock_t *clock, vlc_tick_t system_deadline)
Wait for a timestamp expressed in system time.
Definition clock.c:696
vlc_clock_master_source
Definition clock.h:26
@ VLC_CLOCK_MASTER_INPUT
Definition clock.h:29
@ VLC_CLOCK_MASTER_MONOTONIC
Definition clock.h:30
@ VLC_CLOCK_MASTER_AUTO
Definition clock.h:27
@ VLC_CLOCK_MASTER_AUDIO
Definition clock.h:28
vlc_clock_t * vlc_clock_main_CreateMaster(vlc_clock_main_t *main_clock, const char *track_str_id, const struct vlc_clock_cbs *cbs, void *cbs_data)
This function creates a new master vlc_clock_t interface.
Definition clock.c:967
void vlc_clock_main_SetFirstPcr(vlc_clock_main_t *main_clock, vlc_tick_t system_now, vlc_tick_t ts)
Set the first PCR point.
Definition clock.c:763
void vlc_clock_RemoveListener(vlc_clock_t *clock, vlc_clock_listener_id *listener_id)
Remove a event listener callback.
Definition clock.c:149
vlc_clock_main_t * vlc_clock_main_New(struct vlc_logger *parent_logger, struct vlc_tracer *parent_tracer)
This function creates the vlc_clock_main_t of the program.
Definition clock.c:712
void vlc_clock_Wake(vlc_clock_t *clock)
Wake up any vlc_clock_Wait()
Definition clock.c:704
void vlc_clock_main_Lock(vlc_clock_main_t *main_clock)
Lock the main_clock mutex.
Definition clock.c:858
void vlc_clock_main_SetInputDejitter(vlc_clock_main_t *main_clock, vlc_tick_t delay)
Set the input dejitter.
Definition clock.c:793
vlc_clock_t * vlc_clock_CreateSlave(const vlc_clock_t *clock, enum es_format_category_e cat)
This function creates a new slave vlc_clock_t interface.
Definition clock.c:1073
vlc_tick_t vlc_clock_SetDelay(vlc_clock_t *clock, vlc_tick_t ts_delay)
This functions change the clock delay.
Definition clock.c:897
void vlc_clock_main_SetDejitter(vlc_clock_main_t *main_clock, vlc_tick_t dejitter)
This function sets the dejitter delay to absorb the clock jitter.
Definition clock.c:801
vlc_clock_listener_id * vlc_clock_AddListener(vlc_clock_t *clock, const struct vlc_clock_event_cbs *cbs, void *data)
Add a listener for events.
Definition clock.c:123
vlc_clock_t * vlc_clock_main_CreateInputSlave(vlc_clock_main_t *main_clock)
This function creates a new input slave vlc_clock_t interface.
Definition clock.c:1021
bool vlc_clock_IsPaused(const vlc_clock_t *clock)
Indicate if the clock is paused.
Definition clock.c:688
Callbacks for the owner of the main clock.
Definition clock.h:37
void(* on_update)(vlc_tick_t system_ts, vlc_tick_t ts, double rate, unsigned frame_rate, unsigned frame_rate_base, void *data)
Called when a clock is updated.
Definition clock.h:52
Event callbacks for the user of a vlc_clock_t.
Definition clock.h:61
void(* on_discontinuity)(void *data)
Called when the master source triggered a discontinuity.
Definition clock.h:70
void * data
Definition clock.c:45
const struct vlc_clock_event_cbs * cbs
Definition clock.c:44
vlc_clock_t * clock
Definition clock.c:43
es_format_category_e
ES Categories.
Definition vlc_es.h:616
int64_t vlc_tick_t
High precision date or time interval.
Definition vlc_tick.h:48