Go to file
matthewjheaney 6fa7c7611c Block parsing is now robust
Previously, parsing of a Block element was done inside its
constructor.  Parsing errors were handled via assertion checks,
but this only works in practice if there are no actual errors
in the file.

We did come across a file, however, that used EMBL-style lacing,
but the lacing was done incorrectly and so the parse asserted.
This isn't acceptable for a production system, and more a graceful
handling of parse errors was needed.

The code was restructured such that the Block object's ctor does
only trivial initialization of member variables.  A separate Parse
method was added, that is called after the object is constructed.
If the parse succeeds all is well, otherwise the object is destroyed
and the error is reported to the caller.

This commit fixes bug tracker issue #398, described here:

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

Change-Id: Ib95ca95d0eec08cf670b308c461e42ed8345e890
2012-02-28 14:03:21 -05: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 Build muxer and parser into a single library. 2011-08-11 17:19:45 -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 Fix muxer output with no Cues. 2012-02-16 16:34:59 -05: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 Block parsing is now robust 2012-02-28 14:03:21 -05:00
mkvparser.hpp Block parsing is now robust 2012-02-28 14:03:21 -05: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 Block parsing is now robust 2012-02-28 14:03:21 -05:00
webmids.hpp Add support for encryption elements. 2011-11-04 14:09:56 -04:00