[vlc-devel] [PATCH] MKV: Always set an i_pts in a lace otherwise it disturbs seeking performance

Steve Lhomme robUx4 at videolabs.io
Mon Mar 16 11:45:54 CET 2015


Using VLC_PTS_INVALID disturbs seeking.

It only applies to audio frames which are meant to be contiguous.
---
 modules/demux/mkv/mkv.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/modules/demux/mkv/mkv.cpp b/modules/demux/mkv/mkv.cpp
index 7f4de6b..459328e 100644
--- a/modules/demux/mkv/mkv.cpp
+++ b/modules/demux/mkv/mkv.cpp
@@ -719,10 +719,8 @@ msg_Dbg( p_demux, "block (track=%d) i_dts: %"PRId64" / i_pts: %"PRId64, tk->i_nu
 
         es_out_Send( p_demux->out, tk->p_es, p_block );
 
-        /* use time stamp only for first block */
-        i_pts = ( tk->i_default_duration )?
-                 i_pts + ( mtime_t )tk->i_default_duration:
-                 VLC_TS_INVALID;
+        // prepare the pts for the next frame in the lace
+        i_pts += tk->i_default_duration ? tk->i_default_duration : 1;
     }
 }
 
-- 
2.3.2




More information about the vlc-devel mailing list