Fix the build and tidy up a couple things along the way.
- Add -std=c++11 to CMakeLists.txt CXX flags.
- Add missing include to libwebm_utils.h (<memory>).
- Setup CMAKE_CXX_FLAGS properly (allow user override).
- Add missing URL for gtest repo to README.libwebm.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1136
Change-Id: I894729216737ff92f58a7b7601484ba8fba73b25
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1125
Please see the bug description for more details. This patch fixes
parsing of the file attached in the bug.
Change-Id: I2e929b6ef0ee92ea6d034b501b44a62784edf9f1
Super frame index is at the end of the frame; not the beginning. Adjust
length to process instead of offsetting the start point for breaking up
the super frame.
Change-Id: I71910f24cc060934bb974548a29617b985985ed9
- PES depacketizers don't want anything but simple encoded frames.
- Large in this case means frame size + size of PES header
is > UINT16_MAX.
Change-Id: Ifb76caaa97a0dcf3600228a0cbc4d4f2533027a7
- Move class declarations to webm2pes.h.
- Add some visual demarcation between the method definitions for each
class in webm2pes.cc.
- Reorganize the output code to make further development simpler.
- Also, clang format noise.
Change-Id: Id6d156e1f255cefe30a62784a3eadde6b93ae614
Return an error when DocType, DocTypeReadVersion, DocTypeVersion
EBMLMaxIDLength or EBMLMaxSizeLength are invalid or cannot be
handled by mkvparser.
Update samples to respect the return value from EBMLHeader::Parse.
BUG=https://code.google.com/p/webm/issues/detail?id=1057
Change-Id: I9337f13c1d5fa366b1101e48fe6bc46eb5b2ee97
Return real, known MKV IDs when reading them. Previously
IDs were treated as EBML integer values. This was both
wrong and confusing. Wrong because this results in values
that are not part of the Matroska spec, and confusing
because the code was littered with magic numbers
representing the invented IDs.
Currently uses mkvmuxer::MkvId; A TODO in the code addresses this.
Additional IDs have been added that were not previously in the enum:
mkvparser parses many elements that we do not write in the muxer.
Change-Id: I5db2b4d70d786d5239d2e2a0cbff4e7f8d844aa6
- Remove asserts from ~Segment, CreateInstance, and DoLoadCluster.
- Adds new return constant (E_PARSE_FAILED == -1); most places in
mkvparser that return -1 are the result of an internal inconsistency
and/or misusing the API. In those cases E_FILE_FORMAT_INVALID is not
appropriate as a return value because it's misleading to libwebm users.
Change-Id: I0d46e831b3475d69432b8745066de3329419fa11
Instead of being weird and defining the first few functions
in mkvparser by explicitly prepending the namespace, open the
namespace immediately and define all functions within it.
Change-Id: I9a44a0fda8b04f89c8f874a2a6edc78f1b8e5bcc
use an auto_ptr<mkvparser::Segment> for compatibility which should be
harmless as there is no attempt to transfer ownership; sample.cpp
operates similarly.
Change-Id: I2cb6982aa64c62ff2ec7cbbd646770cb4e782509