Go to file
matthewjheaney 041a5c5811 Parse headers outside of constructor
In several cases, the parser would parse a header
(say, a track header, or the segment info header)
in the constructor for the type.  The parser had
assumed (incorrectly) that the file was well-formed,
but this turned out to be an incorrect assumption.

The parse errors triggered some assertion failures,
but this is not acceptable in a production system.

The parser solved that problem by separating the
construction of the header object from the parsing
of the file.  There is now a separate parse method
to be called after construction of the object,
which returns a status whether the parse was
successful.

This change fixes the bugs from the following
tracker issues:

http://code.google.com/p/webm/issues/detail?id=399
http://code.google.com/p/webm/issues/detail?id=400

Change-Id: Idb09154ae7008429d8613ce3b3e8294f5a12de86
2012-03-13 14:40:17 -04:00
sample_muxer Block parsing is now robust 2012-02-28 14:03:21 -05:00
.gitignore added Release mode 2010-06-11 14:31:20 -04:00
Android.mk Initial version 2010-06-02 10:25:33 -04:00
AUTHORS.TXT Initial version 2010-06-02 10:25:33 -04:00
libwebm_2005.sln Build muxer and parser into a single library. 2011-08-11 17:19:45 -04:00
libwebm_2005.vcproj Build muxer and parser into a single library. 2011-08-11 17:19:45 -04:00
libwebm_2008.sln Build muxer and parser into a single library. 2011-08-11 17:19:45 -04:00
libwebm_2008.vcproj Parse headers outside of constructor 2012-03-13 14:40:17 -04:00
LICENSE.TXT added new license files 2010-06-15 17:45:08 -04:00
Makefile Build muxer and parser into a single library. 2011-08-11 17:19:45 -04:00
mkvmuxer.cpp Parse headers outside of constructor 2012-03-13 14:40:17 -04:00
mkvmuxer.hpp Fix for audio and video track size calculation. 2012-01-25 13:23:40 -05:00
mkvmuxertypes.hpp Add support for muxing to libwebm. 2011-07-15 17:30:27 -04:00
mkvmuxerutil.cpp Fix bug with calculating master element sizes. 2012-01-25 10:28:26 -05:00
mkvmuxerutil.hpp Merge "Fix bug with calculating master element sizes." 2012-01-25 10:01:39 -08:00
mkvparser.cpp Parse headers outside of constructor 2012-03-13 14:40:17 -04:00
mkvparser.hpp Parse headers outside of constructor 2012-03-13 14:40:17 -04:00
mkvreader.cpp Add default mkvreader object to mkvparser namespace. Add mkvreader 2011-06-06 13:08:08 -04:00
mkvreader.hpp Add default mkvreader object to mkvparser namespace. Add mkvreader 2011-06-06 13:08:08 -04:00
mkvwriter.cpp mkvmuxer: Add element start notification. 2012-01-19 20:21:35 -05:00
mkvwriter.hpp mkvmuxer: Use WriteID for all element IDs. 2012-01-23 16:42:03 -05:00
PATENTS.TXT added new license files 2010-06-15 17:45:08 -04:00
RELEASE.TXT Updated RELEASE.TXT 2010-11-03 13:46:44 -04:00
sample_2005.vcproj Build muxer and parser into a single library. 2011-08-11 17:19:45 -04:00
sample_2008.vcproj Build muxer and parser into a single library. 2011-08-11 17:19:45 -04:00
sample.cpp Parse headers outside of constructor 2012-03-13 14:40:17 -04:00
webmids.hpp Add support for encryption elements. 2011-11-04 14:09:56 -04:00