vlc | branch: master | Filip Roséen <[email protected]> | Sat May 21 02:17:58 2016 +0200| [48b287c8d8916b4061c470aa3914ef1bb9fab466] | committer: Jean-Baptiste Kempf
mkv: fixed SegmentSeeker::get_search_areas Fixed bug where a too big of an area would be returned from the function, instead of just the area that is really not searched (indexed). This will, of course, speed up seeking since we will not rescan an area where we already know everything there is to know. Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=48b287c8d8916b4061c470aa3914ef1bb9fab466 --- modules/demux/mkv/matroska_segment_seeker.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/demux/mkv/matroska_segment_seeker.cpp b/modules/demux/mkv/matroska_segment_seeker.cpp index 8ae1a4a..a9ad735 100644 --- a/modules/demux/mkv/matroska_segment_seeker.cpp +++ b/modules/demux/mkv/matroska_segment_seeker.cpp @@ -366,9 +366,11 @@ SegmentSeeker::get_search_areas( fptr_t start, fptr_t end ) const areas_to_search.push_back( Range( needle.start, it->start ) ); } - needle.start = it->end + 1; + if( needle.start <= it->end ) + needle.start = it->end + 1; } + needle.start = std::max( needle.start, start ); if( it == _ranges_searched.end() && needle.start < needle.end ) { areas_to_search.push_back( needle ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
