Abuse of vector::capacity and vector::reserve in combination with
abuse of vector::operator[] was a bad idea.
Change-Id: Id7bdb71888b9d0d174f5243f8cf2771d181888be
When trying to read the ebml id, signal E_BUFFER_NOT_FULL if it
occurs rather than returning E_FILE_FORMAT_INVALID (helps in case
of incremental parsing). Makes this return path consistent with
other return paths in the function.
Change-Id: I4b6ce3f0ba856959fa97f0f6ffb61994f3f2ffc6
Some of the muxer tests have been failing because of incorrect
gold files. Updating the gold files and tweaking the tests so that
they pass in a sensible way.
Change-Id: I7d3dda6cacecda526880d6e7623f9a7678b71265
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