[vlc-devel] [PATCH v2 5/5] es_out: fallback to monotonic if the input can't be paced

Thomas Guillem thomas at gllm.fr
Mon Mar 8 16:13:38 UTC 2021


---
 src/input/es_out.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/input/es_out.c b/src/input/es_out.c
index 726ef53d9e7..07af21299c8 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -2167,6 +2167,7 @@ static void EsOutCreateDecoder( es_out_t *out, es_out_id_t *p_es )
 {
     es_out_sys_t *p_sys = container_of(out, es_out_sys_t, out);
     input_thread_t *p_input = p_sys->p_input;
+    input_thread_private_t *priv = input_priv(p_sys->p_input);
     vlc_input_decoder_t *dec;
 
     static const struct vlc_clock_cbs clock_cbs = {
@@ -2177,6 +2178,7 @@ static void EsOutCreateDecoder( es_out_t *out, es_out_id_t *p_es )
 
     if( p_es->fmt.i_cat != UNKNOWN_ES
      && p_es->fmt.i_cat == p_sys->i_master_source_cat
+     && priv->b_can_pace_control /* master es (audio) can't adjust to drift */
      && p_es->p_pgrm->p_master_clock == NULL )
     {
         p_es->master = true;
@@ -2198,7 +2200,6 @@ static void EsOutCreateDecoder( es_out_t *out, es_out_id_t *p_es )
         return;
     }
 
-    input_thread_private_t *priv = input_priv(p_input);
     dec = vlc_input_decoder_New( VLC_OBJECT(p_input), &p_es->fmt, p_es->p_clock,
                                  priv->p_resource, priv->p_sout,
                                  priv->b_thumbnailing, &decoder_cbs, p_es );
-- 
2.30.0



More information about the vlc-devel mailing list