[vlc-devel] [PATCH v3 4/6] es_out: forward input_clock drift update to the main clock
Thomas Guillem
thomas at gllm.fr
Fri Mar 12 16:08:19 UTC 2021
---
src/input/es_out.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/input/es_out.c b/src/input/es_out.c
index 22f27b1bc1b..726ef53d9e7 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -1355,6 +1355,13 @@ static void EsOutProgramSelect( es_out_t *out, es_out_pgrm_t *p_pgrm )
}
}
+static void input_clock_OnDriftUpdate( double drift, void *data )
+{
+ es_out_pgrm_t *p_pgrm = data;
+
+ vlc_clock_main_SetInputDrift( p_pgrm->p_main_clock, drift );
+}
+
/* EsOutAddProgram:
* Add a program
*/
@@ -1381,8 +1388,12 @@ static es_out_pgrm_t *EsOutProgramAdd( es_out_t *out, input_source_t *source, in
p_pgrm->i_last_pcr = VLC_TICK_INVALID;
p_pgrm->p_meta = NULL;
+ static const struct input_clock_cbs cbs = {
+ .on_drift_update = input_clock_OnDriftUpdate,
+ };
+
p_pgrm->p_master_clock = NULL;
- p_pgrm->p_input_clock = input_clock_New( p_sys->rate, NULL, NULL );
+ p_pgrm->p_input_clock = input_clock_New( p_sys->rate, &cbs, p_pgrm );
p_pgrm->p_main_clock = vlc_clock_main_New();
if( !p_pgrm->p_input_clock || !p_pgrm->p_main_clock )
{
--
2.30.0
More information about the vlc-devel
mailing list