[vlc-devel] [PATCH 1/3] ts: cache the low-delay option

Thomas Guillem thomas at gllm.fr
Thu Dec 5 10:46:43 CET 2019


---
 modules/demux/mpeg/ts.c | 6 ++++--
 modules/demux/mpeg/ts.h | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/modules/demux/mpeg/ts.c b/modules/demux/mpeg/ts.c
index d66412b197f..dd7a87acc75 100644
--- a/modules/demux/mpeg/ts.c
+++ b/modules/demux/mpeg/ts.c
@@ -502,6 +502,7 @@ static int Open( vlc_object_t *p_this )
 
     p_sys->b_canseek = false;
     p_sys->b_canfastseek = false;
+    p_sys->b_lowdelay = var_InheritBool( p_demux, "low-delay" );
     p_sys->b_ignore_time_for_positions = var_InheritBool( p_demux, "ts-seek-percent" );
     p_sys->b_cc_check = var_InheritBool( p_demux, "ts-cc-check" );
 
@@ -1460,7 +1461,8 @@ static block_t * ConvertPESBlock( demux_t *p_demux, ts_es_t *p_es,
  ****************************************************************************/
 static void SendDataChain( demux_t *p_demux, ts_es_t *p_es, block_t *p_chain )
 {
-    bool b_lowdelay = var_InheritBool(p_demux, "low-delay");
+    demux_sys_t *p_sys = p_demux->p_sys;
+
     while( p_chain )
     {
         block_t *p_block = p_chain;
@@ -1470,7 +1472,7 @@ static void SendDataChain( demux_t *p_demux, ts_es_t *p_es, block_t *p_chain )
         /* clean up any private flag */
         p_block->i_flags &= ~BLOCK_FLAG_PRIVATE_MASK;
 
-        if( b_lowdelay )
+        if( p_sys->b_lowdelay )
             p_block->i_flags |= BLOCK_FLAG_AU_END;
 
         ts_es_t *p_es_send = p_es;
diff --git a/modules/demux/mpeg/ts.h b/modules/demux/mpeg/ts.h
index 2ba3f207e9a..613a03ebcce 100644
--- a/modules/demux/mpeg/ts.h
+++ b/modules/demux/mpeg/ts.h
@@ -56,6 +56,7 @@ struct demux_sys_t
     stream_t   *stream;
     bool        b_canseek;
     bool        b_canfastseek;
+    bool        b_lowdelay;
     int         current_title;
     int         current_seekpoint;
     unsigned    updates;
-- 
2.20.1



More information about the vlc-devel mailing list