[vlc-devel] [PATCH 1/4] demux: mkv: if the seek position is already known, only update its trust level

Steve Lhomme robux4 at ycbcr.xyz
Fri Oct 2 13:19:35 CEST 2020


---
 modules/demux/mkv/matroska_segment_seeker.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/modules/demux/mkv/matroska_segment_seeker.cpp b/modules/demux/mkv/matroska_segment_seeker.cpp
index 217f5138870..d4b3d8e3a72 100644
--- a/modules/demux/mkv/matroska_segment_seeker.cpp
+++ b/modules/demux/mkv/matroska_segment_seeker.cpp
@@ -118,7 +118,14 @@ SegmentSeeker::add_seekpoint( track_id_t track_id, Seekpoint sp )
     seekpoints_t&  seekpoints = _tracks_seekpoints[ track_id ];
     seekpoints_t::iterator it = std::lower_bound( seekpoints.begin(), seekpoints.end(), sp );
 
-    if( it != seekpoints.end() && it->pts == sp.pts )
+    if( it != seekpoints.end() && it->fpos == sp.fpos )
+    {
+        if (sp.trust_level <= it->trust_level)
+            return;
+
+        *it = sp;
+    }
+    else if( it != seekpoints.end() && it->pts == sp.pts )
     {
         if (sp.trust_level <= it->trust_level)
             return;
-- 
2.26.2



More information about the vlc-devel mailing list