Commit Graph

1405 Commits

Author SHA1 Message Date
KongQun Yang af7d6a7921 Estimate duration of last sample in cluster from next cluster
Change-Id: I7dbc4045d366bbfb0c12f9652ffe97b8fcf447cf
2015-12-15 22:34:01 +00:00
Jacob Trimble 07378e806c Added WebM muxer.
* Added WebM muxer that supports both single and multi-segment modes.
* WebM muxer supports MPD generation.
* Enabled WebM muxer and demuxer in packager.

b/22463220
b/25089245
b/25089714

Change-Id: I9f6e8fc51e08fbb1d685229c5cb54ea60f7bed8f
2015-12-15 20:34:44 +00:00
Rintaro Kuroiwa 1cdce29343 WebVttMediaParser and TextStreamInfo
- Add WebVttMediaParser which parses and creates MediaSamples from text
  WebVtt inputt

Change-Id: Ia7bb7474df7f15e454e887b8c291fdfdc3195e46
2015-12-14 13:58:21 -08:00
KongQun Yang e1bf322b83 s/::STLElementDeleter/STLElementDeleter/ to improve portability
Change-Id: I5234b415a6ae88ba26da571f56cc8b16748203ae
2015-12-11 15:14:26 -08:00
Bei Li aa805b9632 Support DTS audio in MP4 - Part 2
Issue #52

Change-Id: Ib71077c5063aced23f9d060b35facbf8e6eb0a3a
2015-12-10 20:49:13 +00:00
KongQun Yang e7a4dde677 Replace "pixel aspect ratio" with "pixel_aspect_ratio" in stream info msg
Change-Id: Ia70b084df9b1b4bdf94a308bcc746f3ad2b5ad8e
2015-12-09 23:55:01 +00:00
Bei Li 2806dffb47 Support DTS audio in MP4 - Part 1
Issue #52

Change-Id: I5061e2a674d5c1b039a49729e53d4d15a4120a5c
2015-12-08 23:06:52 +00:00
Thomas Inskip 329afd0ade Added Seek & Tell functionality to ThreadedIoFile.
Change-Id: I3c714014e961d08110ce194ad865322e0b487fcb
2015-12-08 22:55:08 +00:00
Bei Li c647c25d5f Revert "Support DTS audio in MP4 - Part 1"
This reverts commit 9b0d4abece.

Change-Id: I3897fffde2ab162638876df1eafa7a4058573e49
2015-12-07 19:35:11 +00:00
Bei Li 9b0d4abece Support DTS audio in MP4 - Part 1
Change-Id: I4464f869552f5cd0cb77d1b3e97c8efc4b00c552
2015-12-04 16:03:16 -08:00
KongQun Yang 6ca2ea9a24 Update end to end packager_test with multiple inputs
- Also set --clear_lead to 1 if encryption is enabled to make sure some
  of the segments are encrypted.
- Also fixed glint errors.

Change-Id: Ie92ad3ea1a3fd95d059e424a114b863ac393e6bf
2015-11-20 11:31:25 -08:00
KongQun Yang f88e04a1bb Update CHANGELOG for v1.2.1
Change-Id: I3576823c43adc8b22faa74e863ccf460976aad3e
2015-11-19 02:07:01 +00:00
Rintaro Kuroiwa ef7b136116 Better TTML input check
- Check whether if it can be parsed by libxml2 and check if the root
  element is a 'tt' element.
- Added unit tests for determining TTML and WebVTT.

Change-Id: I4fea1881f0ab70970700601d8d7cea32cc04752c
2015-11-18 19:02:04 +00:00
KongQun Yang c393b71b6f Implement vp9 bitstream parser
Bug: 25586821

Change-Id: I42d77a85c7214262842f49fec83689b6b58cad3d
2015-11-18 00:21:48 +00:00
Rintaro Kuroiwa d3c52cffd9 Use alias template for ScopedXmlPtr
- Also renamed to scoped_xml_ptr to match other smart pointers.

Change-Id: Idb998aa3252d4f3a50068a09e26a05f124e94a2f
2015-11-17 22:07:10 +00:00
KongQun Yang 8072fd1eaf Disable HAVE_STROPTS_H which is not available in CentOS
Change-Id: I98c2a4f2ecbbb39dff7a76522243e4f227911c91
2015-11-17 19:55:32 +00:00
Thomas Inskip 7b74ca12de Fixed a miniscule odds race condition found by tsan (Thread sanitizer)
in ThreadedIofile.
Added loop to handle partial writes in ThreadedIoFile.

Change-Id: Ib62855ab849ffbfd00afc5b226dd81d4cd38ff51
2015-11-17 18:42:10 +00:00
Rintaro Kuroiwa 981041a3a8 Remove locks from MpdBuilder and lock at MpdNotifier level
- Since most use cases use notifier implementations that already uses
  locks, removing locks from MpdBuilder.
- Added locks to MpdNotifier::Flush() implementations. Multiple threads
  were able to write to the same file.

Issue #45, #49

Change-Id: I6e39824485672f40e6c947da97f1743fac174167
2015-11-16 11:29:06 -08:00
Rintaro Kuroiwa e251863130 Add ignore file for TSan build
- Added ignores.txt file. When doing a tsan build,
  tsan_blacklist gyp flag should point to the file.

Change-Id: Ia69f89f1906f0b386e081a7df5a7c867e411f8fd
2015-11-13 18:57:54 +00:00
KongQun Yang d60cc9416f Fix a possible crash if a file fails to be closed
Change-Id: I6bc806a68b81ea5bde09bada1175f257c296afcd
2015-11-13 10:07:13 -08:00
Rintaro Kuroiwa 29e14a3d6b VOD text support
Change-Id: Ic69169c31d0a54de4895d49ff8b4a758039733a7
2015-11-11 12:26:25 -08:00
KongQun Yang 4c10755d40 Support HEVC in mp4 parser and muxer
Issue #46

Change-Id: I36bf8418a335181ad71509e6e0cccdce210467f0
2015-11-04 17:18:41 -08:00
Rintaro Kuroiwa 8c53995335 Text support for MpdBuilder
Change-Id: I75e1da391356e9edfcb520941029341941c31332
2015-11-03 17:55:50 -08:00
KongQun Yang c577e6132f Implement initial support for vpx in iso-bmff
Also update the code to generate CompressorName in VideoSampleEntry
for both AVC1 and various VP codecs.

Change-Id: I2355f8008a72806e852aa1ec6c80e9141b97d963
2015-11-04 00:34:00 +00:00
Rintaro Kuroiwa 749571fc07 Do MpdBuilder test TODOs
- Added factory methods for creating Representation and AdaptationSet in
  tests.
- Since most tests only needed access to the constructors for
  Representation and AdaptationSet, instead of using
  FRIEND_TEST_ALL_PREFIXES() for each test case, added factory methods
  on the test class.
- Check the 'frameRate' attribute in
  CommonMpbBuilderTest.SetSampleDuration.

Change-Id: I57bd3a90b397f90c3a3a91de03eb96000f58ef58
2015-10-30 14:48:30 -07:00
KongQun Yang cf0db383a3 Enable verbose logging through --v or --vmodule
Change-Id: I36d8d3dd11abe10ce598ef92f38a2a33a15d8f8e
2015-10-28 22:15:50 +00:00
KongQun Yang 8fc7f51d81 Move AVCDecoderConfiguration parsing to media/filters
Change-Id: I7daa616e53bdef2206ce145f907b8f55cde87740
2015-10-28 00:31:43 +00:00
KongQun Yang 3842a5b43c Use StrEq for string comparison in webm_parser_unittest
Change-Id: Iaa02b7e8f318508b4de38bd258453095686c431d
2015-10-22 17:40:11 -07:00
KongQun Yang 95d2dbf68d Relax requirement on reserved bits when parsing AVCC
Issue #44

Change-Id: I84235a4d94225e2bf1777443611ad19429b958d4
2015-10-22 19:09:40 +00:00
Jacob Trimble 074bce8425 Added libwebm and webm-tools to imports
b/25089850

Change-Id: If97fc4dec70c3c94054b0f7ec5f243d9d5bd676e
2015-10-22 11:16:29 -07:00
Thomas Inskip 05f80f961c Fix for race condition when flushing ThreadedIoFile.
Change-Id: I46f26fa9fddf53ca5231c31d6442053ab5202ade
2015-10-20 16:44:15 +00:00
Rintaro Kuroiwa e9437068cf Add packager/buildtools to gitginore
Change-Id: I9d832c9ce7172eeef9f7abdef673e217d40ed48f
2015-10-19 12:49:03 -07:00
KongQun Yang c4fc05ef62 Add doxygen API link in README.md and DESIGN.md
Change-Id: I7212102d3117a69d65b0f096e0968278b63cd0b0
2015-10-19 12:11:23 -07:00
KongQun Yang afbab86399 Additional clean ups on comments and TODOs
Also rename WebMStreamParser to WebMMediaParser.

Change-Id: I0defca481f9d7774dd84810a5abd52902d5f47b6
2015-10-19 17:23:46 +00:00
KongQun Yang 845766f69a Make webm parser compile and unittest pass
Change-Id: Ib93fbb3eba6f0638f3aa57a9a47e73e8738792d1
2015-10-16 15:51:56 -07:00
KongQun Yang 5a4234f4da Update webm_cluster_parser to emit samples
Change-Id: I02436cfcb53b96210d6f683227cdabb994f4c01f
2015-10-16 15:46:36 -07:00
KongQun Yang 732e06fde0 Adjust webm code for packager
- Adding namespace edash_packager
- Fix includes
- (u)int(8|16|32|64) to (u)int(8|16|32|64)_t
- Remove MEDIA_EXPORT
- Remove MediaLog

Change-Id: Ifa116d966ab70ae1b3c299ae1f6f7044d7ae0cc6
2015-10-16 15:46:36 -07:00
KongQun Yang 87993c5dc7 Add WebM parser code from Chromium
Also includes its dependencies, like media/base/text_track_config.*
and media/filters/webvtt_util.h

Change-Id: I5b26245daf004da19b912b7c5b2c21ce4ba85688
2015-10-16 15:46:36 -07:00
KongQun Yang b6db8b9867 Get rid of svn dependencies
- Generate local copies of libevent, libxml and protobuf.

Change-Id: Ibb29f604191519267f0e6a3ee810cad0c1f80b27
2015-10-16 20:11:20 +00:00
Kongqun Yang 571d713fec Boringssl gyp and patches from Chromium
Bug: 22463853

Change-Id: Ib108016160d2c6ecdd56e369b585ab3c3ae82601
2015-10-16 20:11:04 +00:00
Kongqun Yang 9c0ae378bc Switch to boringssl. Also update curl accordingly.
Boringssl and yasm gyp and patches will follow in a separate cl.

Bug: 22463853

Change-Id: I87b91ac089866db58ac433def006fe9ac4744bd6
2015-10-16 20:10:38 +00:00
Kongqun Yang 73924e56c3 Replace gflags with git repo
Change-Id: I3819ce117e05ee86cef9abad4ca56bcb1d2860a6
2015-10-16 20:10:17 +00:00
Kongqun Yang 47c79d08ce Update code to resolve problems due to base updates.
Notably deprecate of OVERRIDE, to be replaced with C++11 override.

Bug: 22463130
Bug: 22664127

Change-Id: I12c82e092e9e8eb0870da4363307c3563a3531b7
2015-10-16 20:09:56 +00:00
Kongqun Yang 8cd33d8b21 Update DEPS to use git as much as possible.
Will retire remaining svn repositories in subsequent CLs.

Bug: 22463130

Change-Id: Iebe5d53b8a4424413836c5b8351b349e8da3ce70
2015-10-16 20:09:19 +00:00
Thomas Inskip a9b6fcedd7 Added fallback to computed AVCDecoderConfigurationRecord if the one
stored in the WVM metadata is invalid.

Change-Id: I9e3c7ba4677f1ac7c19ec4d51f600d28bb427acb
2015-10-14 09:46:14 -07:00
Thomas Inskip cb7173d280 Added support for multiple audio & video configurations in WVM parser.
BUG=24614172

Change-Id: I197a0ebdfa6df90abc27358762cae041e4f8fd45
2015-10-13 10:42:49 -07:00
KongQun Yang 93e6c4fc92 Reduce test file sizes and remove unused test files
Change-Id: I7e3b24e92b2a16de857e0424c85232cc31444182
2015-10-12 20:16:03 +00:00
Thomas Inskip d0fb8ced4b Use default audio and video PES stream IDs (0xc0 and 0xe0 respectively)
if not specified in the WVM metadata.

BUG=24753064

Change-Id: I4c4cd0b30f0e153d46639382682da13b127dd305
2015-10-08 13:16:00 -07:00
Kongqun Yang 25cac4aa12 Added CHANGELOG.md and bump version to v1.2.0
Change-Id: Iab4a6085ad97fa04a319013ff70c3450511ebc52
2015-10-02 00:13:36 +00:00
KongQun Yang 7bc1b6323b Update README.md
- Added instructions on how to sync to a particular revision
- Added a paragraph on DASH-IF IOP compliance
- Some minor edits on docker instructions

Change-Id: I4ebe1d471f1593aa1a88e604ed6e8c4261b044a5
2015-10-01 23:30:41 +00:00