Commit Graph

722 Commits

Author SHA1 Message Date
Tom Finegan
32d5ac4941 mkvmuxerutil: Fix MSVC build.
Avoid a couple implicit casts.

Change-Id: I3299272769d15c08c733ced1b0f95bdf75848e6f
2016-04-08 21:46:31 -07:00
Tom Finegan
6397597194 vpxpes_parser: Fix MSVC build.
Replace implicit cast with explicit cast.

Change-Id: I6e8948e46b7589af334eaea3b41e0bcb808b7825
2016-04-08 21:23:12 -07:00
Tom Finegan
784b6fe4fe mkvmuxer: Revert changes to IMkvWriter types.
- Restore integer typedefs in mkvmuxertypes.h.
- Revert integer type changes in IMkvWriter declaration.
- Revert integer type changes in mkvwriter.{cc,h}

Change-Id: I3e9f8a3d079f485a3ea051f7477c803f9c9087e4
2016-04-08 10:50:57 -07:00
Tom Finegan
030518edd3 webm_info: Fix implicit conversion warnings.
Fix warnings exposed by addition of -Wshorten-64-to-32 to compiler
flags.

Change-Id: I56f10e6c9af8c4fafebe8fbe00739f775cf31492
2016-04-08 10:45:33 -07:00
Tom Finegan
46d5dee461 sample_muxer: Fix implicit conversion warnings.
Fix warnings exposed by addition of -Wshorten-64-32 compiler flag.

Change-Id: I17fe8439a88f68fc4b8f7a6774132570dfe251da
2016-04-08 10:45:33 -07:00
Tom Finegan
22b0845686 webmts: Fix implicit conversion warnings.
Fix warnings exposed by addition of -Wshorten-64-32 compiler flag
in webmts sources.

Change-Id: I3104e7be2bf991d7e108b652857ecca8e82c5ef9
2016-04-08 10:44:35 -07:00
Tom Finegan
ef464c2a95 mkvparser: Fix implicit conversion warnings.
Fix warnings exposed by addition of compiler flag
-Wshorten-64-to-32.

Change-Id: I9adcfa97babbda1a5d94fe06ec84eab69eb8d842
2016-04-08 09:23:35 -07:00
James Zern
0e9767e29a Merge "rename mingw64_toolchain.cmake to mingw-w64_toolchain" 2016-04-08 05:33:15 +00:00
Tom Finegan
f47cbd50e9 cmake: Move cxx flag testing/setup into its own file.
- Move CXX flags stuff into build/cxx_flags.cmake.
- include CMake modules where they're used.
- Add ENABLE_WERROR flag-- enables warnings as errors.
- Add -Wshorten-64-to-32 and -Wnarrowing to CXX flags.

Change-Id: I5d93a39a3eff6ae81f9e094927b8f0cb9f36bbb0
2016-04-07 14:49:26 -07:00
Vignesh Venkatasubramanian
039df94e87 Add TEST_TMPDIR environment variable
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
2016-04-07 10:55:28 -07:00
James Zern
87443a6b8f rename mingw64_toolchain.cmake to mingw-w64_toolchain
Change-Id: I9101fd87d2eb5ef56c4441b4c46f35e85aff04d8
2016-04-07 10:46:24 -07:00
Tom Finegan
2aee04fb23 msvc_runtime.cmake: Check for MSVC, not WIN32.
- 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
2016-04-07 10:36:07 -07:00
Vignesh Venkatasubramanian
eb50da8e38 Option to write timecode using fixed # of bytes
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
2016-04-06 15:09:19 -07:00
Tom Finegan
c1991fea81 mkvmuxer: Add missing Segment member initializer.
Change-Id: If8d6e12de3671e864ecb6c5ca0873a1fc69c3820
Segment::accurate_cluster_duration_ init missing from ctor.
2016-04-06 13:37:07 -07:00
Tom Finegan
10aed96a9c Android.mk: Make libwebm easier to build downstream.
- 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
2016-04-06 13:36:19 -07:00
Tom Finegan
5c50e310e7 Add support for parsing VPx track codec private data.
Currently only the VP9 profile level is supported.

http://www.webmproject.org/vp9/profiles/

Change-Id: Iff7238e104621b53fdd51a67d752bd72b2dbbacb
2016-04-04 11:16:33 -07:00
Tom Finegan
4cbdbf1978 Fix Android build.
- Missing STDC_{CONSTANT,FORMAT,LIMIT}_MACROS.
- Missed an int32 during conversion to stdint.h types.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1171

Change-Id: I744449dc5fef53827f0caa837a15aafe30d6e553
2016-04-04 11:16:22 -07:00
James Zern
bb48a3fc63 mkvmuxerutil: remove stray 'int32'
fixes Android compilation of this file

Change-Id: Ib469c750baf05837f6475487a6f03465e56a9013
2016-04-02 11:45:32 -07:00
Tom Finegan
a1cba3409a Support cross compile for windows via mingw64.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1170

Change-Id: I8430600ceb610fbf1ecff34f0a2d2c1a57627692
2016-04-01 19:11:12 -04:00
Tom Finegan
596f5e0544 Add webm_info.
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
2016-04-01 12:07:38 -04:00
Tom Finegan
ccf75f67a0 msvc/muxer_tests: Silence integer conversion warnings.
Change-Id: Ic11a83968aa5a70ca364ebce97d465f74cda5eee
2016-03-31 10:43:10 -07:00
Tom Finegan
2ff2954fa9 msvc/webm2pes: Silence integer and floating point conversion warnings.
Change-Id: I5379b5a3896b316327f35ebfaa3b2fc8545f002b
2016-03-31 10:43:10 -07:00
Tom Finegan
1f2432397f msvc/hdr_util: Silence double to float conversion warnings.
- Use float instead of double for Colour children in mkvparser.
- Add casts where appropriate.

Change-Id: Ia0f7e4dc25536cd43bc5e9439c58770dc3d79bc5
2016-03-31 10:43:05 -07:00
Tom Finegan
074456386e msvc/vpxpes_parser: Silence integer conversion warning.
Change-Id: I968693578f5596ebef6f576765a19f8210db5f4a
2016-03-31 10:32:37 -07:00
Tom Finegan
59614b8fae msvc/libwebm_util: Fix floating point to int conversion warning.
Change-Id: I3f813df344989b0200a49215ab0562d896577425
2016-03-31 10:32:35 -07:00
Tom Finegan
6481c24a19 webvtt: Fix include in vttreader.
Change-Id: I270acebca3e38114362af4d682d5034fda942c84
2016-03-30 12:32:23 -07:00
Tom Finegan
e6ed0f4817 msvc/vpxpes2ts: Fix MSVC integer conversion warning.
Change-Id: Ia2613f160b76f664cbdfeb314026f056f4be2fcc
2016-03-30 12:32:22 -07:00
Tom Finegan
da6439685d cmake/msvc: Disable C4996 project wide.
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
2016-03-30 12:32:22 -07:00
James Zern
6ef8264fcc Merge "mkvparser::BlockEntry: inline EOS()" 2016-03-30 00:30:11 +00:00
James Zern
3fa6aecb7f mkvparser::BlockEntry: inline EOS()
Change-Id: I1cd5ef4e438a285c733c9246411513f670c2c9c4
2016-03-29 16:55:42 -07:00
Tom Finegan
26306f9214 mkvmuxer: Remove unused Cluster ctor overload.
Remove Cluster ctor overload unintentionally added during a merge
because the default ctor is causing an uninit'd memory error in
valgrind.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1161

Change-Id: I21b8110488bc6def0a3b5d07cbede37170087e6d
2016-03-29 14:32:43 -07:00
Tom Finegan
0d765974cd mkvmuxer: Fix build with GCC 5.3.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1160

Change-Id: I7d8a0a7fa1aef2e459e54effd448186c850453be
2016-03-29 12:21:10 -07:00
Tom Finegan
0ba80bcbf4 mkvparser/sample: Minor clean up.
- Return EXIT_FAILURE/EXIT_SUCCESS from main().
- Fix usage.

Change-Id: Id22d9c5cff9c8e220b4d19c519bf35f8b69ed2df
2016-03-29 09:02:52 -07:00
Tom Finegan
2e0e906eac iosbuild.sh: Fix build.
Update the framework build script to support the new
layout of the libwebm repo.

Change-Id: I4852eb116b7a4b891e570cad3be830fc961ba2f8
2016-03-23 10:09:59 -07:00
James Zern
918440adaf Makefile.unix: allow CXXFLAGS to be easily overridden
separate out required flags allowing CXXFLAGS to append them

Change-Id: I2ecd68c7c153da5f17e3b53e1c8ae4e739c65f4c
2016-03-22 20:55:33 -07:00
Tom Finegan
4ff5785938 cmake: Add C++11 move ctor and member initializer tests.
Change-Id: I747a206db03fcb8f13265e0c56c86dd5a9f6eff8
2016-03-21 14:41:49 -07:00
Tom Finegan
402ef4dd4d cmake: remove argc and argv from C++11 test main fns.
Avoid failing feature tests because of potential unused variable
warnings.

Change-Id: Iaae3a86581ce7beefeaf6c2300c87064fc8d6d56
2016-03-21 14:41:49 -07:00
Tom Finegan
cbe5c40d12 Restore original namespaces for mkvmuxer and mkvparser.
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
2016-03-21 14:41:49 -07:00
Tom Finegan
504e0f2d5b Mass file extension update.
- Use .cc and .h everywhere.
- Update includes/include guards.
- Remove extra makefile targets necessitated by previous mix
  of cpp/cc.

Change-Id: I7aad29152d4177937f8f42927c16c6572228c104
2016-03-21 14:41:47 -07:00
Tom Finegan
79cb9805c1 Android.mk: Update source file locations.
Change-Id: I92cdf3c5616edf0450bce85963f415e10c5cb21d
2016-03-21 14:41:24 -07:00
Tom Finegan
01db4c2d83 webmids: Move to common/ sub dir.
Change-Id: I87d0cbd78203a6680108e9e36588ff35e7ae8a4e
2016-03-21 14:41:24 -07:00
Tom Finegan
235ce59396 mkvparser: Explicitly reference internal sources in includes.
Change-Id: I09f2ab1e6fd4a41b242931e12cb4f147f8019247
2016-03-21 14:41:24 -07:00
Tom Finegan
f578419a01 mkvmuxer: Move sources to mkvmuxer/ sub dir.
Change-Id: I22dff1e2ece102c294081ab2ec8600fdb872922e
2016-03-21 14:41:19 -07:00
Tom Finegan
5f1065e4e2 webvtt: Organize and clean up webvtt support.
Move webvtt support code into webvtt sub dir, and update build/includes
as necessary.

Change-Id: I1c0891afd413e92d43ba54b61cc8dc694c0bff36
2016-03-21 12:41:47 -07:00
Tom Finegan
7abe8ace91 cmake: Add missing dumpvtt target.
Change-Id: Ie751a8bcf10d554dd2dad7171b27df22bf442d40
2016-03-21 12:41:47 -07:00
Tom Finegan
f2f87e20ed Makefile.unix: Tidy things up.
- Stop the abuse of OBJECTS$N (where N is just a magic number that's been
  incremented each time the line length crossed 80 cols).
- Put WebVTT objects in VTTOBJS
- Put executable objects in EXEOBJS
- Move symbol defs to $(DFLAGS)
- Add $(INCLUDES) to $(CXXFLAGS); stop using it in rules.

Change-Id: I140c8a779f9f42586b7179262690c86801163f89
2016-03-21 12:41:47 -07:00
Tom Finegan
12f6dc34b4 Use <stdint.h> types instead of custom typedefs.
Change-Id: Ia43b81649a14d0509aef2119be7a0ea9be955201
2016-03-21 12:41:45 -07:00
Vignesh Venkatasubramanian
0407360dcf mkvmuxer: Write last block in each Cluster with Duration
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
2016-03-18 12:24:42 -07:00
Tom Finegan
008aa63d6a mkvparser: move to mkvparser sub dir.
Move mkvparser and mkvreader to mkvparser/.

Change-Id: I18c4575483f628344034d81b7d90d3aa86c163ff
2016-03-18 10:22:22 -07:00
Tom Finegan
e64bf75688 Namespace reorg: Make everything a child of libwebm.
(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
2016-03-18 10:22:16 -07:00