Replacing a reinterpret_cast from float& to uint32& with a union to get rid of
"dereferencing type-punned pointer will break strict-aliasing rules" warning.
This warning is produced on passing -O3 in gcc.
Change-Id: Ie942597f418e3659e3ff29a909c43dd99266c04d
Overloading MkvWriter's constructor so that it can wrap a user owned
FILE pointer. Doing this so that applications which handle the file opening
and closing by themselves don't have to have their own implementation of the
IMkvWriter interface.
Change-Id: I69c57f3e6927ea13b616c425e3b5f179d2e69215
Basically identical to the 2010 projects, but with platform
toolset set to VS 2013, and output files/paths updated to
avoid collisions with VS 2010 output.
Change-Id: I02b827288319db22eeb0beeed71261dc0673d6ef
Disable C4996; A warning that encourages users to make their code
require the "secure" variant of functions like tmpnam(). Doing so
just happens to make the resulting code require the MSVC runtime.
Change-Id: I0329ce3aa93da060110d24a4bc7f48a7f9c87227
Adding set_uid function to the Chapter class. It can be used to
achieve deterministic output from the muxer. For example, for files
with only one segment, track number or track id can be used for
chapter uid.
Change-Id: I2e94c6150e32cb9019a6623af7919acc099aa20d
Adding AddLastFrame function to the Segment muxer so that the duration
of the Segment can be accurately calculated given the last Block's duration.
We now provide an AddLastFrame function which will take duration of that block
as a parameter. When this function is used to add the last frame, the duration
of it is taken into account when computing the Segment's duration.
Change-Id: I3e1456299fefa1a4dd6d845c47292951d1ce3ad0
Avoid unfortunate things like breaking the library because the make file
was not previously checking dependencies.
Change-Id: Iab20c3cfa0d1475dfb5c54127646b351df1c4c50
Allow users of libwebm's MKV muxer to control the Track UID. This,
for example, allows creation of tests that rely on checksum comparisons
to verify output from the library.
Change-Id: I8b052e6dd5af734d76122b2a1b6b16382ffba214
Files created with Segment::CopyAndMoveCuesBeforeClusters can't be parsed by
libwebm because the Segment size was not updated to account for the change
in Cue size. Fixing that.
Change-Id: I993f63e5c279f131cd39c54bee40163da00b8cbd
A whole new approach to repositioning Cues before Clusters. This
patchset adds a new function CopyAndMoveCuesBeforeClusters to the
Segment class. This function should be called after
Segment::Finalize() to obtain a copy of the same output file with
Cues positioned before the Clusters.
Removing everything else that was added to accomplish the same in
the previous few commits.
Also, adding std:: qualifier to one of the variables in
sample_muxer_metadata which was missed accidentally in the previous
commit.
Change-Id: I2810d06a6251325add2f5e54d32d1da6e2fe143f
Replacing "using std::string" with fully qualified namespace on
each occurance of string in sample_muxer_metadata.cc and
webvttparser.cc.
Also fixing a formatting nit in mkvwriteeofreader.cpp
Change-Id: Icf713f9e489fbdc9af14e83d0cb7ba2e89e65ab4
Changing the IMkvReadableWriter interface to IMkvWriteEOFReader.
Also changing the default implementation.
Change-Id: Id37ffd7ef0af2ff7a392fb4fb0b1b134664ab20f
Adding support for placing Cues element before the Cluster element. We
recompute the new offsets using a recursive algorithm and update the Cues and
Seek Heads with the updates offsets.
Change-Id: I038f1a403b1defa853b9026bd3e48f4ad1006866