webm/libwebm.git
47 hours agoclang-format on dumpvtt.cc 51/69751/1 master
Vignesh Venkatasubramanian [Mon, 14 Apr 2014 19:15:04 +0000 (12:15 -0700)]
clang-format on dumpvtt.cc

Conformance of dumpvtt.cc to Google C++ style guide.

Change-Id: I5fa11e79e95e61c1a1d923ba76ac7ae343c9c8e4

5 days agoclang-format on mkvmuxer.[ch]pp 52/69552/2
Vignesh Venkatasubramanian [Fri, 11 Apr 2014 18:41:01 +0000 (11:41 -0700)]
clang-format on mkvmuxer.[ch]pp

Conformance of mkvmuxer.[ch]pp to Google C++ style guide.

Change-Id: I9bcd14710adbad4f32aa1a6be2ea7e40fb715e91

5 days agoUpdate .clang-format to allow short functions in one line 00/69600/1
Vignesh Venkatasubramanian [Fri, 11 Apr 2014 18:24:46 +0000 (11:24 -0700)]
Update .clang-format to allow short functions in one line

Update .clang-format so that it allows short functions and constructors in a
single line if it fits.

Change-Id: I60788089fc7a4e2f4c4df6947368ebc0f3fa8c49

5 days agoMerge "Add support for DateUTC and DefaultDuration in MKV Muxer."
Tom Finegan [Thu, 10 Apr 2014 23:13:21 +0000 (16:13 -0700)]
Merge "Add support for DateUTC and DefaultDuration in MKV Muxer."

7 days agoMerge "Add .clang-format"
Vignesh Venkatasubramanian [Wed, 9 Apr 2014 18:55:47 +0000 (11:55 -0700)]
Merge "Add .clang-format"

7 days agoAdd .clang-format 27/69527/4
Vignesh Venkatasubramanian [Wed, 9 Apr 2014 18:36:13 +0000 (11:36 -0700)]
Add .clang-format

Add .clang-format file so that it can be used to maintain
the same style throughout the library.

Change-Id: I22bd21055f565a886b5a880856810f4b35b22cce

7 days agoAdd support for DateUTC and DefaultDuration in MKV Muxer. 39/69539/2
Sergey Ulanov [Wed, 9 Apr 2014 04:44:14 +0000 (21:44 -0700)]
Add support for DateUTC and DefaultDuration in MKV Muxer.

BUG=crbug.com/321825

Change-Id: I5ff8c5b9fd4e6be23ef2bc91a7a4ba021db6441f

7 days agoFixing a warning in mkvmuxerutil.cpp 29/69529/2
Vignesh Venkatasubramanian [Tue, 8 Apr 2014 23:05:39 +0000 (16:05 -0700)]
Fixing a warning in mkvmuxerutil.cpp

Changing a constant from int32 to uint64 to fix a warning in
mkmuxerutil.cpp

Change-Id: Ifd9f76ea4be848eff4d98a797d2d4dcd22f11478

11 days agoAdding support for user file ownership in MkvReader 53/69453/5
Vignesh Venkatasubramanian [Thu, 3 Apr 2014 06:25:55 +0000 (23:25 -0700)]
Adding support for user file ownership in MkvReader

Adding a constructor to MkvReader that will enable user application
ownership of the file.

Change-Id: I10f8f71715392df3d4b78c7c11076e19c30e1af6

4 weeks agomkvmuxerutil: Getting rid of strict-aliasing warning 47/69247/2
Vignesh Venkatasubramanian [Fri, 14 Mar 2014 21:37:35 +0000 (14:37 -0700)]
mkvmuxerutil: Getting rid of strict-aliasing warning

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

4 weeks agoSupport user ownership of files in MkvWriter 10/69210/2
Vignesh Venkatasubramanian [Wed, 12 Mar 2014 19:18:48 +0000 (12:18 -0700)]
Support user ownership of files in MkvWriter

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

5 weeks agoMerge "vttdemux: Add VS2013 project."
Tom Finegan [Mon, 10 Mar 2014 18:49:55 +0000 (11:49 -0700)]
Merge "vttdemux: Add VS2013 project."

5 weeks agovttdemux: Add VS2013 project. 63/69163/2
Tom Finegan [Fri, 7 Mar 2014 18:35:48 +0000 (10:35 -0800)]
vttdemux: Add VS2013 project.

And add it to the libwebm VS2013 solution.

Change-Id: I9957b47b291722bc0e5eb435795252cf780f968b

5 weeks agoAdd VS2010 DLL build configurations for vttdemux. 70/69170/1
Tom Finegan [Sat, 8 Mar 2014 00:53:47 +0000 (16:53 -0800)]
Add VS2010 DLL build configurations for vttdemux.

- Link to libwebm instead of building sources.
- Add missing dependency on libwebm.

Change-Id: I8f977f767f6104d07f716c7c5ebecda249c202f2

5 weeks agoMerge "mkvmuxer: Silence MSVC warning that suggests making code non-portable."
Tom Finegan [Fri, 7 Mar 2014 00:40:59 +0000 (16:40 -0800)]
Merge "mkvmuxer: Silence MSVC warning that suggests making code non-portable."

5 weeks agoMerge "vttdemux: created win32 project"
Matthew Heaney [Thu, 6 Mar 2014 22:36:03 +0000 (14:36 -0800)]
Merge "vttdemux: created win32 project"

5 weeks agovttdemux: created win32 project 46/69146/3
Matthew Heaney [Fri, 28 Feb 2014 20:33:58 +0000 (12:33 -0800)]
vttdemux: created win32 project

Change-Id: I2a1ce12bc374f7493c50021cbe4fc4a4716a6829

6 weeks agoAdd Visual Studio 2013 projects. 11/69111/3
Tom Finegan [Wed, 5 Mar 2014 00:42:11 +0000 (16:42 -0800)]
Add Visual Studio 2013 projects.

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

6 weeks agomkvmuxer: Silence MSVC warning that suggests making code non-portable. 12/69112/2
Tom Finegan [Wed, 5 Mar 2014 00:46:33 +0000 (16:46 -0800)]
mkvmuxer: Silence MSVC warning that suggests making code non-portable.

Change-Id: I19bfa107bf01b1e10ac5a43040d409f4d620f4a7

7 weeks agomkvparser: Silence MSVC warning that suggests making code non-portable. 52/68952/1
Tom Finegan [Tue, 25 Feb 2014 17:36:32 +0000 (09:36 -0800)]
mkvparser: Silence MSVC warning that suggests making code non-portable.

Change-Id: Ia8b4cd39711105a5b3462b512160f9250e8a5966

2 months agoMerge "mkvparser: Fix unused variable warnings when NDEBUG is defined."
Tom Finegan [Thu, 6 Feb 2014 04:56:22 +0000 (20:56 -0800)]
Merge "mkvparser: Fix unused variable warnings when NDEBUG is defined."

2 months agomkvparser: Fix unused variable warnings when NDEBUG is defined. 72/68672/3
Tom Finegan [Thu, 6 Feb 2014 02:50:46 +0000 (18:50 -0800)]
mkvparser: Fix unused variable warnings when NDEBUG is defined.

Change-Id: I98b1121768e5650c2184acbf35636a15e9241148

2 months agomkvparser/sample: Fix incorrect printf format specifiers. 73/68673/1
Tom Finegan [Thu, 6 Feb 2014 02:50:00 +0000 (18:50 -0800)]
mkvparser/sample: Fix incorrect printf format specifiers.

Change-Id: I8b61f429f7bb1da7b3def612f6413895f8cb945d

2 months agoMerge "Fix mingw build."
Tom Finegan [Fri, 24 Jan 2014 19:13:56 +0000 (11:13 -0800)]
Merge "Fix mingw build."

2 months agoFix mingw build. 97/68497/3
Tom Finegan [Fri, 24 Jan 2014 06:31:42 +0000 (22:31 -0800)]
Fix mingw build.

Change-Id: Iec913e0cf5849bec459e98df59b0e0bd8e02965b

2 months agoMerge "mkvparser: Add basic cues walking to sample."
Tom Finegan [Fri, 24 Jan 2014 06:29:12 +0000 (22:29 -0800)]
Merge "mkvparser: Add basic cues walking to sample."

2 months agoMerge "mkvmuxer: Add DiscardPadding support."
Tom Finegan [Thu, 23 Jan 2014 23:34:12 +0000 (15:34 -0800)]
Merge "mkvmuxer: Add DiscardPadding support."

2 months agomkvparser: Add basic cues walking to sample. 90/68490/4
Tom Finegan [Thu, 23 Jan 2014 23:19:32 +0000 (15:19 -0800)]
mkvparser: Add basic cues walking to sample.

Change-Id: Ia90e760f04083fa60b44f4d372e118474fc59fee

2 months agomkvparser/mkvreader/sample: CRLF -> LF 04/68504/1
Tom Finegan [Thu, 23 Jan 2014 18:57:06 +0000 (10:57 -0800)]
mkvparser/mkvreader/sample: CRLF -> LF

Change-Id: Id4a5bea411d104289548b276d0e996352cc816b1

2 months agomkvparser sample: clang-formatify 03/68503/5
Tom Finegan [Thu, 23 Jan 2014 18:38:20 +0000 (10:38 -0800)]
mkvparser sample: clang-formatify

Exception asterisk placement, which was left as before to match the rest of
libwebm.

Change-Id: I3947acc936cca68df72a5bcd8dec17ed40658ba6

2 months agomkvmuxer: Add DiscardPadding support. 21/68421/8
Tom Finegan [Thu, 23 Jan 2014 07:26:26 +0000 (23:26 -0800)]
mkvmuxer: Add DiscardPadding support.

Also a bit of refactoring to remove some duplicate code.

Change-Id: Ia3d17461ae5f6275534e06c31f348bdfc4bba169

2 months agoMinor clean up: msvc warnings/include order/comment text. 89/68489/2
Tom Finegan [Wed, 22 Jan 2014 22:03:40 +0000 (14:03 -0800)]
Minor clean up: msvc warnings/include order/comment text.

Change-Id: I2b54abcb9f535715d8713930942447c0b0f5f862

2 months agoMerge "sample_muxer: Silence MSVC warning."
Tom Finegan [Thu, 16 Jan 2014 21:01:54 +0000 (13:01 -0800)]
Merge "sample_muxer: Silence MSVC warning."

2 months agoAdd license header in sample_muxer_metadata.cc. 29/68429/1
Sergey Ulanov [Thu, 16 Jan 2014 19:31:13 +0000 (11:31 -0800)]
Add license header in sample_muxer_metadata.cc.

This is required by the checklicenses.py script in chromium.

Change-Id: Ice6155b1332adcbda74532e558438083212e1511

2 months agosample_muxer: Silence MSVC warning. 19/68419/1
Tom Finegan [Wed, 15 Jan 2014 23:00:59 +0000 (15:00 -0800)]
sample_muxer: Silence MSVC warning.

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

2 months agoMerge "mkvmuxer: Fix warnings."
Tom Finegan [Wed, 15 Jan 2014 22:36:06 +0000 (14:36 -0800)]
Merge "mkvmuxer: Fix warnings."

2 months agomkvmuxer: CRLF->LF webmids.h. 13/68413/3
Tom Finegan [Wed, 15 Jan 2014 20:37:15 +0000 (12:37 -0800)]
mkvmuxer: CRLF->LF webmids.h.

Match the other muxer sources. Also fix declaration order
of elements in the track grouping.

Change-Id: I06fdb98eb42815af96e80e33379ef73d41b470b3

2 months agomkvmuxer: Fix warnings. 12/68412/1
Tom Finegan [Wed, 15 Jan 2014 20:14:27 +0000 (12:14 -0800)]
mkvmuxer: Fix warnings.

Remove useless spam from build output.

Change-Id: Iae200d32cda1fc11cd471772725345d0979e97bc

3 months agomkvmuxer: Add support for VP9 and Opus tracks. 50/68350/3
Tom Finegan [Thu, 9 Jan 2014 22:56:15 +0000 (14:56 -0800)]
mkvmuxer: Add support for VP9 and Opus tracks.

Also make codec ID constants really constant.

Change-Id: I951d25e83ce507afb1ca475e2d5dbfe6402f3d61

3 months agomkvmuxer: Add support for writing CodecDelay and SeekPreRoll elements. 46/68346/2
Tom Finegan [Thu, 9 Jan 2014 20:03:24 +0000 (12:03 -0800)]
mkvmuxer: Add support for writing CodecDelay and SeekPreRoll elements.

Change-Id: Iad8c671b76c4b97abad58946df7f3c0ebe6cb01b

3 months agomkvparser: Add support for CodecDelay, DiscardPadding, and SeekPreRoll elements. 10/68310/3
Tom Finegan [Thu, 9 Jan 2014 01:29:44 +0000 (17:29 -0800)]
mkvparser: Add support for CodecDelay, DiscardPadding, and SeekPreRoll elements.

Change-Id: Ic9e6ebcc2ba533f8cc1ab933d0bf55782ccab932

5 months agoInitializing last_block_duration_ to zero. 08/67708/1
Vignesh Venkatasubramanian [Wed, 30 Oct 2013 18:13:38 +0000 (11:13 -0700)]
Initializing last_block_duration_ to zero.

Adding a missing initialization.

Change-Id: Id4223765968745a46653139b2a9f1537102c3618

5 months agoMerge "Fixing a bug in Chapter::Clear"
Vignesh Venkatasubramanian [Fri, 25 Oct 2013 18:13:05 +0000 (11:13 -0700)]
Merge "Fixing a bug in Chapter::Clear"

5 months agoAdding set_uid to Chapter Class 36/67636/2
Vignesh Venkatasubramanian [Fri, 25 Oct 2013 16:16:40 +0000 (09:16 -0700)]
Adding set_uid to Chapter Class

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

5 months agoFixing a bug in Chapter::Clear 35/67635/1
Vignesh Venkatasubramanian [Fri, 25 Oct 2013 16:12:11 +0000 (09:12 -0700)]
Fixing a bug in Chapter::Clear

Replacing a typo'd < with > in Chapter::Clear of mkvmuxer.

Change-Id: I8784d19dbca5a8a62c92ed14e2efa61d96c5375f

5 months agoAdding AddLastFrame to Segment 74/67574/5
Vignesh Venkatasubramanian [Mon, 21 Oct 2013 19:29:57 +0000 (12:29 -0700)]
Adding AddLastFrame to Segment

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

7 months agoAdd dependency checks to Makefile. 11/66211/2 libwebm-1.0.0.26
Tom Finegan [Mon, 19 Aug 2013 18:03:45 +0000 (11:03 -0700)]
Add dependency checks to Makefile.

Avoid unfortunate things like breaking the library because the make file
was not previously checking dependencies.

Change-Id: Iab20c3cfa0d1475dfb5c54127646b351df1c4c50

7 months agoIgnore dependency files and build products. 10/66210/1
Tom Finegan [Mon, 19 Aug 2013 18:02:23 +0000 (11:02 -0700)]
Ignore dependency files and build products.

Change-Id: I4e9da395b8e06a696e77389d0bc863b8837eceee

7 months agoFix mkvmuxer::Track::set_uid(). 09/66209/1
Tom Finegan [Mon, 19 Aug 2013 18:01:49 +0000 (11:01 -0700)]
Fix mkvmuxer::Track::set_uid().

Modifying const variables doesn't work.

Change-Id: Ie1aa9ce1779002973ec93f808ba5e86c569b9df4

7 months agoAdd set_uid() to mkvmuxer::Track. 03/66103/1
Tom Finegan [Fri, 16 Aug 2013 17:49:28 +0000 (10:49 -0700)]
Add set_uid() to mkvmuxer::Track.

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

9 months agoHandling chunking_ being set to true on repositioning cues. 25/60225/2
Vignesh Venkatasubramanian [Thu, 27 Jun 2013 17:24:56 +0000 (10:24 -0700)]
Handling chunking_ being set to true on repositioning cues.

CopyAndMoveCuesBeforeClusters should return false (fail gracefully)
if chunking_ is set to true.

Change-Id: Idf4d573e3f15b59c25ee0774a7875e5dfda9c02e

9 months agoUpdate Segment size if Cues size changes on repositioning 05/59805/1
Vignesh Venkatasubramanian [Mon, 24 Jun 2013 18:55:53 +0000 (11:55 -0700)]
Update Segment size if Cues size changes on repositioning

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

10 months agoRepositing Cues before Clusters 93/58593/2
Vignesh Venkatasubramanian [Thu, 13 Jun 2013 22:25:03 +0000 (15:25 -0700)]
Repositing Cues before Clusters

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

10 months agoFully qualifiying usage of std::string 96/58396/1
Vignesh Venkatasubramanian [Wed, 12 Jun 2013 18:23:35 +0000 (11:23 -0700)]
Fully qualifiying usage of std::string

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

10 months agoChanging IMkvReadableWriter to IMkvWriteEOFReader 18/58218/2
Vignesh Venkatasubramanian [Tue, 11 Jun 2013 19:32:21 +0000 (12:32 -0700)]
Changing IMkvReadableWriter to IMkvWriteEOFReader

Changing the IMkvReadableWriter interface to IMkvWriteEOFReader.
Also changing the default implementation.

Change-Id: Id37ffd7ef0af2ff7a392fb4fb0b1b134664ab20f

10 months agoAdding mkvreadablewriter 71/57371/1
Vignesh Venkatasubramanian [Mon, 3 Jun 2013 21:26:20 +0000 (14:26 -0700)]
Adding mkvreadablewriter

Adding mkvreadablewriter files which was missed from previous commit.

Change-Id: I84363ca897ebe758a42538c179ad60c2adfe9247

10 months agoSupport for placing Cues before Clusters 45/57045/7
Vignesh Venkatasubramanian [Fri, 24 May 2013 22:50:13 +0000 (15:50 -0700)]
Support for placing Cues before Clusters

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

10 months agoMerge "Fixing mistyped element name in mkvmuxerutil"
Vignesh Venkatasubramanian [Tue, 21 May 2013 00:11:11 +0000 (17:11 -0700)]
Merge "Fixing mistyped element name in mkvmuxerutil"

10 months agoFixing mistyped element name in mkvmuxerutil 46/55846/1
Vignesh Venkatasubramanian [Mon, 20 May 2013 23:46:33 +0000 (16:46 -0700)]
Fixing mistyped element name in mkvmuxerutil

Replacing correct element name in mkvmuxerutil that was mistyped
in a previous commit.

Change-Id: Ic34f544aeeb124f0950c3f45e7b638d4616f8b86

11 months agoMerge "Elements and functions to support BlockAdditional"
Vignesh Venkatasubramanian [Tue, 7 May 2013 21:17:43 +0000 (14:17 -0700)]
Merge "Elements and functions to support BlockAdditional"

11 months agomkvparser: Get frame default duration 91/49891/3
Patrik2 Carlsson [Thu, 2 May 2013 14:03:20 +0000 (16:03 +0200)]
mkvparser: Get frame default duration

Track::GetDefaultDuration is implemented as an alternative
to VideoTrack::GetFrameRate which seems to be deprecated.

Change-Id: I2c7a6d56a232125b8632d87eab75b9600c5451e1

11 months agoElements and functions to support BlockAdditional 50/48850/3
Vignesh Venkatasubramanian [Tue, 23 Apr 2013 20:20:39 +0000 (13:20 -0700)]
Elements and functions to support BlockAdditional

Adding elements and functions to support muxing of BlockAdditional element.
This is required for supporting muxing of streams with Alpha Channel (where the
Alpha data goes into BlockAdditional). Detailed design doc of Alpha Channel can
be found here: http://goo.gl/wCP1y

Change-Id: Idac144d9588de16685734850585ab7115ddd08a4

12 months agolibwebm: Remove STL dependency from Android build. 26/48126/1
Frank Galligan [Mon, 15 Apr 2013 17:24:34 +0000 (10:24 -0700)]
libwebm: Remove STL dependency from Android build.

Change-Id: Id2f378f2fa8350aae97394bd8b21918cff4d179a

12 months agolibwebm: Fix random number generation on Android. 25/48125/1
Frank Galligan [Mon, 15 Apr 2013 16:27:34 +0000 (09:27 -0700)]
libwebm: Fix random number generation on Android.

Change-Id: I593561128aaeb5806f8f015e2de3b4c9aa4411fc

12 months agolibwebm: Update Android build 20/48120/1
Frank Galligan [Mon, 15 Apr 2013 15:45:31 +0000 (08:45 -0700)]
libwebm: Update Android build

- Change to libwebm.
- Add muxer support.
- Remove sample app.

Change-Id: I39c31ecbff573f86214e85b3ac08e0dcdfe22ae2

12 months agoRemoved IsOpen because it should not have been there. 50/46650/3
Michael Szal [Wed, 27 Mar 2013 18:00:43 +0000 (11:00 -0700)]
Removed IsOpen because it should not have been there.

Change-Id: I4d5149de362e50a8f15ebfd382e39218ca2ca560

13 months agomkvparser: support seek for generic tracks (subtitles) 32/44032/6
Patrik Carlsson [Wed, 27 Feb 2013 14:39:26 +0000 (15:39 +0100)]
mkvparser: support seek for generic tracks (subtitles)

To support seek in generic tracks with subtitles the audio track
implementation of seek is made generic and inherited by audio track.

Change-Id: Ic88d2e859d077a1054b2af7d7680cfddfba8a589

13 months agomkvparser: add support for compression elements 31/44031/6
Patrik Carlsson [Wed, 27 Feb 2013 14:38:58 +0000 (15:38 +0100)]
mkvparser: add support for compression elements

ContentCompression elements are now parsed.

Change-Id: I9a67ae444ed929e49c7ea223a16c13c9d16a4c13

13 months agomkvparser: read track language information 30/44030/4
Patrik Carlsson [Wed, 27 Feb 2013 14:38:21 +0000 (15:38 +0100)]
mkvparser: read track language information

Track::GetLanguageAsUTF8 is implemented to allow the user to
choose between available audio and subtitle tracks.

Change-Id: I5ec9b1c1c00182da759681ba486cbace46e9b63f

14 months agolibwebm: fixed compilation error 14/42414/1
Matthew Heaney [Thu, 31 Jan 2013 22:13:33 +0000 (14:13 -0800)]
libwebm: fixed compilation error

Change-Id: I2dfa93f3a2470e016ca905caee33c3dceb789b57

14 months agolibwebm: fixed rand() on windows 44/41944/2
Matthew Heaney [Thu, 24 Jan 2013 19:27:48 +0000 (11:27 -0800)]
libwebm: fixed rand() on windows

Change-Id: Ie17445072f10f91bdaabfba74a1be58764d78b94

15 months agomkvparser: liberalize parsing of bad elements 04/41104/1
Matthew Heaney [Fri, 11 Jan 2013 03:16:58 +0000 (19:16 -0800)]
mkvparser: liberalize parsing of bad elements

Normally, if a sub-element of a cluster reports a size
that lies beyond the end of its enclosing cluster, we
would treat this as a malformed stream and immediately
terminate the parse.

However, if the sub-element is not a simple block or block
group, we would ignore the (sub)element anyway, so there
doesn't appear to be any harm in just concontinuing to
ignore the (sub)element, and treating this case as if
we had reached the end-of-cluster in the normal way.

Change-Id: I16c0a44f7458823ed579612d917b09ee08a8d90a

16 months agomkvparser: ignore 0-size elements in TrackEntry 35/39535/2
David Schalig [Wed, 28 Nov 2012 03:18:32 +0000 (12:18 +0900)]
mkvparser: ignore 0-size elements in TrackEntry

ParseTrackEntry handled MKVs with 0-sized EBML elements
as malformed. Relaxing this and allow empty elements to allow
parsing such MKV content.

Change-Id: I7e430e9b2d177df7fe1e656546f63ee8673e784e

17 months agoAdd support for WebVTT cue identifier line 33/37933/1
Matthew Heaney [Tue, 13 Nov 2012 20:44:06 +0000 (12:44 -0800)]
Add support for WebVTT cue identifier line

Modified the mkvmuxer to write the ChapterStringUID
sub-element of the Chapter Atom element.

Modified the mkvparser to read the ChapterStringUID
sub-element of the chapter atom.

Modified the vttdemux app to write the Cue Identifier
line of the WebVTT cue.

Change-Id: I06fe386f44897ada3fe10cbf89096df104dcf779

17 months agoMerge "vttdemux: add support for WebVTT chapters"
Matthew Heaney [Tue, 13 Nov 2012 17:38:29 +0000 (09:38 -0800)]
Merge "vttdemux: add support for WebVTT chapters"

17 months agovttdemux: add support for WebVTT chapters 27/37727/4
Matthew Heaney [Fri, 26 Oct 2012 22:06:28 +0000 (15:06 -0700)]
vttdemux: add support for WebVTT chapters

Change-Id: If5e12ff7057ce4217907ef91d493e1bcd8a72656

17 months agolibwebm: Fix BlockNumber on CuePoint 28/37828/1
Frank Galligan [Mon, 12 Nov 2012 16:35:39 +0000 (08:35 -0800)]
libwebm: Fix BlockNumber on CuePoint

- libwebm was writing the BlockNumber of the next Block instead
  of the Block that was just written.

Change-Id: I344800fcea919a82d7f0a04a54cf510be3851ec6

17 months agomkvparser: add missing definitions 81/37681/3
Matthew Heaney [Thu, 8 Nov 2012 22:10:17 +0000 (14:10 -0800)]
mkvparser: add missing definitions

Change-Id: I043a6d974bdf146a8726d090722159943eb20752

17 months agomkvparser: add support for MKV chapters 99/37299/1
Matthew Heaney [Wed, 24 Oct 2012 22:51:18 +0000 (15:51 -0700)]
mkvparser: add support for MKV chapters

Change-Id: I2404b6886ed592fe505ee973bf05c769a9d134b1

17 months agosample_muxer: added support for WebVTT chapters 97/37097/2
Matthew Heaney [Mon, 22 Oct 2012 23:20:20 +0000 (16:20 -0700)]
sample_muxer: added support for WebVTT chapters

Change-Id: Ic5ab8097c0981ef300eadc4a3c151f63b2aad81d

17 months agoMerge "mkvmuxer: add support for WebVTT chapters"
Matthew Heaney [Thu, 1 Nov 2012 01:03:59 +0000 (18:03 -0700)]
Merge "mkvmuxer: add support for WebVTT chapters"

17 months agomkvmuxer: add support for WebVTT chapters 95/36495/7
Matthew Heaney [Mon, 22 Oct 2012 20:05:11 +0000 (13:05 -0700)]
mkvmuxer: add support for WebVTT chapters

Change-Id: I469ce3bd79a9b50b82e00ac8c63fc3d1db220887

17 months agomuxer: Add support to force Cluster placement. 59/36559/4
Frank Galligan [Thu, 25 Oct 2012 16:53:34 +0000 (09:53 -0700)]
muxer: Add support to force Cluster placement.

Change-Id: I7d4653561ca760885ba6926825ba6b80cdbea8ab

17 months agomkvmuxer: add MakeUID utility function 02/36002/3
Matthew Heaney [Thu, 18 Oct 2012 23:22:35 +0000 (16:22 -0700)]
mkvmuxer: add MakeUID utility function

Change-Id: I3fb57438767ddcc8f9e17c050d494f48ff203e58

17 months agowebvttparser: check intermediate values while parsing int 35/35635/3
Matthew Heaney [Tue, 16 Oct 2012 00:10:22 +0000 (17:10 -0700)]
webvttparser: check intermediate values while parsing int

Change-Id: I145529097246f75c27ff2d29cf091416ba1c437d

18 months agovttdemux: initial revision 84/35284/2
Matthew Heaney [Thu, 30 Aug 2012 22:16:06 +0000 (15:16 -0700)]
vttdemux: initial revision

vttdemux is a tool for demuxing a webm file containing
WebVTT metadata tracks, extracting the embedded metadata
from each track and storing it as a standalone WebVTT file.

Change-Id: I8897b3dc502c49c92f5b79925939baa5a9490aaa

18 months agomkvparser: create generic track objects 38/35038/4
Matthew Heaney [Tue, 9 Oct 2012 19:08:33 +0000 (12:08 -0700)]
mkvparser: create generic track objects

Formerly, it was only possible to create instances of
the Track subclasses, VideoTrack and AudioTrack.  However,
we now populate WebM files with WebVTT metadata blocks,
so we must allow for a third kind of track object.

We now enable instances of type Track to be created,
by providing a new factory function, Track::Create, and
making all Track methods non-pure and with a generic
implementation.

Change-Id: I7d4c965eb566b9fc2f5ceefe1d43723cf8c1e5f0

18 months agosample_muxer: clean-up to conform to style guide 13/34913/2
Matthew Heaney [Mon, 8 Oct 2012 19:50:41 +0000 (12:50 -0700)]
sample_muxer: clean-up to conform to style guide

Change-Id: I77a4657d71359777a8f55f40346014f90051e02d

18 months agowebvttparser: added LineReader class 99/34299/3
Matthew Heaney [Fri, 28 Sep 2012 22:32:40 +0000 (15:32 -0700)]
webvttparser: added LineReader class

Previously the Parser class had an internal function to parse
the character stream into separate lines.  This functionality
was separated out into its own class, LineReader, in order
to make this functionality available to clients too.

Change-Id: Ic5a1b0b73d7a253cf21cb6b4804b4941fd69c8ab

18 months agomkvparser: implemented BlockGroup::GetDuration method 95/34295/1
Matthew Heaney [Fri, 28 Sep 2012 21:55:24 +0000 (14:55 -0700)]
mkvparser: implemented BlockGroup::GetDuration method

Change-Id: Ib0106df3823c29e45a8fe59669c0fa65dd13a123

18 months agosample_muxer: added WebVTT support 65/34165/4
Matthew Heaney [Tue, 14 Aug 2012 23:40:33 +0000 (16:40 -0700)]
sample_muxer: added WebVTT support

Change-Id: If72d31ca4828adf39e4637003979a314e5dda98e

18 months agoMerge "mkvparser: Version 1.0.0.26 mkvmuxer: Version 0.2.0.0"
Frank Galligan [Thu, 27 Sep 2012 17:06:58 +0000 (10:06 -0700)]
Merge "mkvparser: Version 1.0.0.26 mkvmuxer: Version 0.2.0.0"

18 months agomkvparser: Version 1.0.0.26 mkvmuxer: Version 0.2.0.0 91/34191/1
Frank Galligan [Thu, 27 Sep 2012 16:56:24 +0000 (09:56 -0700)]
mkvparser: Version 1.0.0.26 mkvmuxer: Version 0.2.0.0

Change-Id: I6875b1c10adea41c45762d82b7dd2f9551f5b7ca

18 months agoMerge "Added a rule to the Makefile to build libwebm as a shared library."
James Zern [Wed, 26 Sep 2012 20:37:17 +0000 (13:37 -0700)]
Merge "Added a rule to the Makefile to build libwebm as a shared library."

18 months agoAdded a rule to the Makefile to build libwebm as a shared 55/33955/2
Michael Szal [Fri, 21 Sep 2012 20:56:11 +0000 (13:56 -0700)]
Added a rule to the Makefile to build libwebm as a shared
library.

I'm building two different object files now: the ones for
libwebm.a are compiled normally (*_a.o), and the ones for
libwebm.so are compiled with -fPIC and linked with -shared
(*_so.o).

Change-Id: I76471ab225a006c7e169bc0d69df9a0731ff6681

18 months agomkvmuxer: add operations for muxing metadata 13/33913/1
Matthew Heaney [Mon, 24 Sep 2012 19:13:45 +0000 (12:13 -0700)]
mkvmuxer: add operations for muxing metadata

Change-Id: Ia17166ee9133b4841f7d206aa7d5ec81f800e994

18 months agoadd operation to add generic track 23/33823/1
Matthew Heaney [Sat, 15 Sep 2012 01:30:55 +0000 (18:30 -0700)]
add operation to add generic track

Change-Id: I34e4ab14c0a5b022b77b98d9403125550024e730

18 months agoMake AddCuePoint function public. 21/33821/1
Frank Galligan [Fri, 21 Sep 2012 23:21:03 +0000 (16:21 -0700)]
Make AddCuePoint function public.

Change-Id: I08df2b604185d6ae1d63eb360e68e84efa2cebfa

18 months agoAdd Track number to AddCuePoint function. 15/33815/1
Frank Galligan [Fri, 21 Sep 2012 22:42:57 +0000 (15:42 -0700)]
Add Track number to AddCuePoint function.

Change-Id: I67fd8db3d436f8931f5d50deeb1f1d41cfdc0836

18 months agoMerge "Fix set_writing_app."
Frank Galligan [Fri, 21 Sep 2012 21:08:43 +0000 (14:08 -0700)]
Merge "Fix set_writing_app."