[vlc-devel] [PATCH 00/34] Another massive mkv patch-batch

Filip Roséen filip at videolabs.io
Fri May 6 19:08:39 CEST 2016

First set of patches to improve seeking inside matroska files, as well as
clean-ups of the demuxer as a whole.

Thanks to Denis Charmet for helping me out! 

Filip Roséen (34):
  mkv: Fix multisegment ordered editions
  mkv: cleanup of chapter_codec_cmds_c::AddCommand
  mkv: cleaned up dvd_chapter_codec_c::{Enter,Leave}
  mkv: cleanup of matroska_segment_c::Parse{Attachments,Chapters}
  mkv: cleaned matroska_segment_c::ParseChapterAtom
  mkv: removed unnecessary variable EbmlParser::mi_remain_size
  mkv: removed legacy debug output
  mkv: removed unused/unnecessary argument to functions involved in seek
  mkv: removed unnecessary data-member i_start_pos from matroska_segment_c
  mkv: removed code dealing with KaxClusterSilentTrackNumber
  mkv: removed manual memory management from mkv_track_t
  mkv: introduced matroska_segment_c::PreloadClusters
  mkv: added call to IndexAppendCluster in matroska_segment_c::Preload
  mkv: removed legacy indexing
  mkv: added matroska_segment_seeker.{hpp,cpp}
  mkv: replaced usage of std::vector with std::map (matroska_segment_c::tracks)
  mkv: renamed matroska_segment_c::{Select,UnSelect}
  mkv: changed matroska_segment_c::BlockFindTrackIndex to FindTrackByBlock
  mkv: cleaned matroska_segment_c::LoadCues
  mkv: cleanup of matroska_segment_c::ParseTrackEntry
  mkv: utilize functionality introduced by matroska_segment_seeker.hpp
  mkv: add every seen subtitle block as seekpoint
  mkv: fix matroska_segment_c::ParseCluster to use new functionality
  mkv: removed unnecessary diagnostic and branching
  mkv: set p_sys->i_pts in a little bit cleaner way
  mkv: support "inprecise seeking" (ie. "Fast Seek")
  mkv: new way of seeking
  mkv: skip decoding of blocks that are not necessary
  mkv: removed unnecessary static data-member from EbmlTypeDispatcher
  mkv: fixed used after free of matroska_segment_c::ep
  mkv: removed matroska_segment_c::i_cluster_pos
  mkv: removed EbmlParser::UnGet
  mkv: whitespace cleaning + correcting header includes
  mkv: removed code that would make us loop ordered chapters forever

 modules/demux/Makefile.am                     |   1 +
 modules/demux/mkv/Ebml_dispatcher.hpp         |  17 +-
 modules/demux/mkv/Ebml_parser.cpp             |  39 --
 modules/demux/mkv/Ebml_parser.hpp             |   2 -
 modules/demux/mkv/chapter_command.cpp         |  80 ++--
 modules/demux/mkv/chapter_command.hpp         |   4 +
 modules/demux/mkv/demux.cpp                   |   9 +-
 modules/demux/mkv/matroska_segment.cpp        | 576 +++++++++-----------------
 modules/demux/mkv/matroska_segment.hpp        |  33 +-
 modules/demux/mkv/matroska_segment_parse.cpp  | 237 ++++++-----
 modules/demux/mkv/matroska_segment_seeker.cpp | 405 ++++++++++++++++++
 modules/demux/mkv/matroska_segment_seeker.hpp | 104 +++++
 modules/demux/mkv/mkv.cpp                     | 233 ++++++-----
 modules/demux/mkv/mkv.hpp                     | 100 ++---
 modules/demux/mkv/virtual_segment.cpp         | 113 ++---
 modules/demux/mkv/virtual_segment.hpp         |   3 +-
 16 files changed, 1151 insertions(+), 805 deletions(-)
 create mode 100644 modules/demux/mkv/matroska_segment_seeker.cpp
 create mode 100644 modules/demux/mkv/matroska_segment_seeker.hpp


More information about the vlc-devel mailing list