There's a leak in the following scenario:
* AccurateClusterDuration is set to true.
* Add a few frames.
* An error is encountered while adding a frame and the
application bails without calling Cluster::Finalize
* All the frames we queues in QueueOrWriteFrames now leak.
This patch fixes this scenario by delete'ing any left over frames
in the Cluster's destructor.
Change-Id: I104f6814db18a86fae9877decfe6cc75b8937fcb
Also, add some constants for WebVTT codec ID strings so they
won't cause doctype to incorrectly change to matroska.
Change-Id: I4740a3e45b28a22e462601b9ce051aa01817dace
Output the flag being checked before checking the flag to make it easier
to determine exactly which check failed.
Change-Id: I692f5287f985acb4a3061dd54f7c5a8729def83b
Some downstream code using the EBML element size requires that
EbmlElementSize and EbmlMasterElementSize are accessible in the global
namespace.
Change-Id: I9d110b683e434c90f96ae7b35b35e79eb6a2335f
- The direct change to stdint.h types causes too much downstream
churn. Need an intermediate step or a wrapper because quite a
bit of user code explicitly casts args passed to mkvmuxerutil
functions to types defined in mkvmuxertypes.
- Update call sites in mkvmuxer to avoid ambiguity errors.
Change-Id: I018445b3d8ab1da776ecdb19a290ac00af63c2cf
- Restore integer typedefs in mkvmuxertypes.h.
- Revert integer type changes in IMkvWriter declaration.
- Revert integer type changes in mkvwriter.{cc,h}
Change-Id: I3e9f8a3d079f485a3ea051f7477c803f9c9087e4
Honor TEST_TMPDIR environment variable for creating temporary test
files in non-windows platforms. This helps in environments where
we cannot create a temporary file in the current directory.
Change-Id: I39e0a19580635d752171e0573dd21ec838cb81a4
- The flag change here is supposed to target only MSVC builds,
and not all Windows builds.
- Style tweak to match other CMake files.
Change-Id: I664705e13d810e2d41422eae655b5a68ff244308
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
- Explicitly add the libwebm path as an include directory, and export
it to ensure the include path propagates to other builds depending
on libwebm.
- Disable clang/gcc warning extern-c-compat; it's triggered in Android builds
by built-in includes.
Change-Id: I631f5a6f3b50a73519ae436033257de7e25afb16
Migrated from the webm-tools repository with minor tweaks to
fix its build in the new location.
Last location/revision:
https://chromium.googlesource.com/webm/webm-tools
a7e97e8f0a913ddd97444392bb8816f44a4821a1
Change-Id: Icfad43d9fdd37fc413a6a28b57b370c97c7c28df
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