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:679
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:882
void vlc_clock_main_Delete(vlc_clock_main_t *main_clock)
Destroy the clock main.
Definition clock.c:844
void vlc_clock_main_Reset(vlc_clock_main_t *main_clock)
Reset the vlc_clock_main_t.
Definition clock.c:756
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:1040
void vlc_clock_Delete(vlc_clock_t *clock)
This function free the resources allocated by vlc_clock*Create*()
Definition clock.c:1082
void vlc_clock_Lock(vlc_clock_t *clock)
Lock the clock mutex.
Definition clock.c:673
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:906
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:872
void vlc_clock_Reset(vlc_clock_t *clock)
This function resets the clock drift.
Definition clock.c:894
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:996
void vlc_clock_main_Unlock(vlc_clock_main_t *main_clock)
Unlock the main_clock mutex.
Definition clock.c:866
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:812
int vlc_clock_Wait(vlc_clock_t *clock, vlc_tick_t system_deadline)
Wait for a timestamp expressed in system time.
Definition clock.c:699
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:970
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:766
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:715
void vlc_clock_Wake(vlc_clock_t *clock)
Wake up any vlc_clock_Wait()
Definition clock.c:707
void vlc_clock_main_Lock(vlc_clock_main_t *main_clock)
Lock the main_clock mutex.
Definition clock.c:861
void vlc_clock_main_SetInputDejitter(vlc_clock_main_t *main_clock, vlc_tick_t delay)
Set the input dejitter.
Definition clock.c:796
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:1076
vlc_tick_t vlc_clock_SetDelay(vlc_clock_t *clock, vlc_tick_t ts_delay)
This functions change the clock delay.
Definition clock.c:900
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:804
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:1024
bool vlc_clock_IsPaused(const vlc_clock_t *clock)
Indicate if the clock is paused.
Definition clock.c:691
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