Add test that confirms expected failure when a block
that ends beyond the current cluster is encountered.
Change-Id: I27abcab6d00b78c14b7ca00f51c97e43c5cdd34c
Rename source files and targets to better reflect what is
actually being tested.
muxer_tests => mkvmuxer_tests
parser_tests => mkvparser_tests
Change-Id: I921901f37d269f294b96ba20732b31c27f81945b
mkvmuxer can write matroska v4 elements in all modes, but does
not always confirm that the doc type is high enough for all
elements written. The main culprits are Colour and its
children. Avoid problems by using 4 as the default version.
This avoids problems in all cases but those where users who
know what they are doing have written the EBML header manually.
Update the test files because the new default causes the file
compare abuse in the muxer tests to fail.
Update expected doc type version in the parsing tests.
BUG=webm:1201
Change-Id: I4c69000af4c1d5efe66315c17f3953344ef04993
Also, add some constants for WebVTT codec ID strings so they
won't cause doctype to incorrectly change to matroska.
Change-Id: I4740a3e45b28a22e462601b9ce051aa01817dace
Add an option to write the cluster timecode using exactly 8 bytes
irrespective of the actual number of bytes required to write it as
an ebml integer.
This could be useful for players that want to rewrite the timecode
in-place (e.g. live streaming).
Change-Id: I1a049251f00ab65591d71e169129f5145a8c8863
MSVC C4996 triggers upon use of functions like fopen, and suggests
use of non-portable Microsoft replacements. Disable it project wide,
and remove the pragmas littered throughout the tree.
Change-Id: I8b890bbfd3cd7224c25350bd28f334facd8b7783
Wrapping mkvmuxer and mkvparser in the libwebm namespace is no
longer necessary now that the tree reorganization is complete.
Put mkvmuxer and mkvparser namespaces back in the global
namespace to avoid unnecessary churn in downstream code.
Change-Id: I13a4fe0143d20bb2bb6038078c68636ff2af0c29
- Use .cc and .h everywhere.
- Update includes/include guards.
- Remove extra makefile targets necessitated by previous mix
of cpp/cc.
Change-Id: I7aad29152d4177937f8f42927c16c6572228c104
This helps browsers implementing Media Source Extensions (MSE) to
know the exact duration of a Cluster without relying on the next
Cluster.
Change-Id: Idd0422e432430c5702a4864740f89fc6d3c85189
(that is not already)
Some details:
- mkvmuxer and mkvparser wrapped by libwebm
- Matroska element constants moved from mkvmuxer to libwebm
- integer types moved from mkvmuxer to libwebm
Change-Id: Ic91e887e50adbc2d735bf6264534a5d01135df31
Moving AddAudioTrack into a separate function and keeping it
simple so that it can be re-used from other tests that might
require adding an audio track.
Change-Id: Ia60ed63ddbe617764596eb9c5a2bf96108c47cdd
- Wrap MkvWriter in std::unique_ptr to allow use of the
MkvWriter(FILE*) ctor (because MuxerTest owns the FILE*).
- Test temporary FILE* in Init(); don't assume it's valid.
- Close output FILE* before attempting to read it in
CuesBeforeClusters().
Change-Id: I4848adec7a24c8987fdd0924e7474b264837e8a9
Move file utility classes and functions from testing/test_util to
common/file_util, and make them part of libwebm.
Change-Id: If5b25a63b20efacc16b0fecaa8876ade4ecc4b26
Abuse of vector::capacity and vector::reserve in combination with
abuse of vector::operator[] was a bad idea.
Change-Id: Id7bdb71888b9d0d174f5243f8cf2771d181888be