vlc/vlc-3.0 | branch: master | Steve Lhomme <rob...@ycbcr.xyz> | Wed Feb 14 
09:32:41 2018 +0100| [e023fa35596cfe0c07097831de44bc944749d646] | committer: 
Hugo Beauzée-Luyssen

demux:mkv: fix the invalid value init for i_skip_until_fpos

There was mismatches between -1 and std::numeric_limits<uint64_t>::max().

(cherry picked from commit 31897aaf4bf7bf594dc52a486977097fccdee09b)
Signed-off-by: Hugo Beauzée-Luyssen <h...@beauzee.fr>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=e023fa35596cfe0c07097831de44bc944749d646
---

 modules/demux/mkv/matroska_segment.cpp | 4 ++--
 modules/demux/mkv/mkv.cpp              | 4 ++--
 modules/demux/mkv/mkv.hpp              | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/modules/demux/mkv/matroska_segment.cpp 
b/modules/demux/mkv/matroska_segment.cpp
index 7b49b4889f..c0a879de62 100644
--- a/modules/demux/mkv/matroska_segment.cpp
+++ b/modules/demux/mkv/matroska_segment.cpp
@@ -832,7 +832,7 @@ bool matroska_segment_c::InternalSeek( demux_t &demuxer, 
mtime_t i_absolute_mk_d
     {
         mkv_track_t &track = *it->second;
 
-        track.i_skip_until_fpos = -1;
+        track.i_skip_until_fpos = std::numeric_limits<uint64_t>::max();
         if( track.i_last_dts > VLC_TS_INVALID )
             track.b_discontinuity = true;
         track.i_last_dts        = VLC_TS_INVALID;
@@ -885,7 +885,7 @@ bool matroska_segment_c::InternalSeek( demux_t &demuxer, 
mtime_t i_absolute_mk_d
         if ( b_accurate )
             trackit->second->i_skip_until_fpos = it->second.fpos;
         else
-            trackit->second->i_skip_until_fpos = -1;
+            trackit->second->i_skip_until_fpos = 
std::numeric_limits<uint64_t>::max();
         trackit->second->i_last_dts        = it->second.pts;
 
         msg_Dbg( &sys.demuxer, "seek: preroll{ track: %u, pts: %" PRId64 ", 
fpos: %" PRIu64 " skip: %" PRIu64 "} ",
diff --git a/modules/demux/mkv/mkv.cpp b/modules/demux/mkv/mkv.cpp
index bbeba71471..cb6036e629 100644
--- a/modules/demux/mkv/mkv.cpp
+++ b/modules/demux/mkv/mkv.cpp
@@ -739,7 +739,7 @@ static int Demux( demux_t *p_demux)
                 return 1; // this block shall be ignored
             }
 
-            track.i_skip_until_fpos = -1;
+            track.i_skip_until_fpos = std::numeric_limits<uint64_t>::max();
         }
     }
 
@@ -814,7 +814,7 @@ mkv_track_t::mkv_track_t(enum es_format_category_e es_cat) :
   ,i_default_duration(0)
   ,f_timecodescale(1.0)
   ,i_last_dts(0)
-  ,i_skip_until_fpos(-1)
+  ,i_skip_until_fpos(std::numeric_limits<uint64_t>::max())
   ,f_fps(0)
   ,p_es(NULL)
   ,i_original_rate(0)
diff --git a/modules/demux/mkv/mkv.hpp b/modules/demux/mkv/mkv.hpp
index 59adc48eb9..c4da69c4f8 100644
--- a/modules/demux/mkv/mkv.hpp
+++ b/modules/demux/mkv/mkv.hpp
@@ -205,7 +205,7 @@ class mkv_track_t
         uint64_t     i_default_duration;
         float        f_timecodescale;
         mtime_t      i_last_dts;
-        uint64_t     i_skip_until_fpos;
+        uint64_t     i_skip_until_fpos; /*< any block before this fpos should 
be ignored */
 
         /* video */
         es_format_t fmt;

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to