[vlc-commits] es_out: forward input_clock drift update to the main clock
Thomas Guillem
git at videolan.org
Fri Mar 12 13:44:34 UTC 2021
vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Mon Mar 8 15:51:03 2021 +0100| [81ce47e62b1024f41bf52ad6b2d7fab776d470ed] | committer: Thomas Guillem
es_out: forward input_clock drift update to the main clock
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=81ce47e62b1024f41bf52ad6b2d7fab776d470ed
---
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 22f27b1bc1..726ef53d9e 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 )
{
More information about the vlc-commits
mailing list