Commit Graph

34 Commits

Author SHA1 Message Date
Kongqun Yang 0f3bc4b6b4 Implement base mp4 box objects: Box and FullBox.
Change-Id: Ic1acc0f7ec3999d5270609a8836dbbde7f0d1c0f
2014-01-03 00:58:09 +00:00
Rintaro Kuroiwa b6e127416b MuxerListener interface
Muxer event handler interface.

Change-Id: Iee4b43c49ae9a105bbadb61b6ae9ed2e66bfaba2
2014-01-02 10:44:51 -08:00
Rintaro Kuroiwa 65a3a69646 mpd_builder build target fix
This can compile the static library.

Change-Id: Iec108b9b94dbfd5f1de09434403763d59b89b535
2013-12-26 16:03:13 -08:00
Rintaro Kuroiwa 069a4923d5 Merge "Add reference time scale to the protobuf" 2013-12-20 01:44:16 +00:00
Rintaro Kuroiwa 4ee3bb7e61 Add 'T' for presentation time
Presentation time format is PT<number>S.
All seconds to XML duration uses SecondToXmlDuration now.

Change-Id: I3afcda9820fc968b35cfb929e0c7de4e2d91f9a2
2013-12-18 17:37:46 -08:00
Rintaro Kuroiwa dcc99d511f Add reference time scale to the protobuf
Change-Id: I085c8203194262c80ed38f4fca9a26e9417bb977
2013-12-17 17:18:43 -08:00
Rintaro Kuroiwa 05a32f42f7 MPD generation classes
- MpdBuilder, AdapatationSet, and Representation class.

Change-Id: I0dbaa5e17b7d44fec6d47f1643f15083a2c96757
2013-12-17 14:47:56 -08:00
Kongqun Yang 3318ad715d Define BoxBuffer which wraps mp4 box read/write.
BoxBuffer wraps either BoxReader for reading or BufferWriter for writing.
Thus it is capable of doing either reading or writing, but not both.

Change-Id: Id57370755a586bfdef1291a23af29f5b1feec903
2013-12-12 23:49:17 +00:00
Kongqun Yang e9b77add23 Implemented FixedEncryptorSource.
FixedEncryptorSource takes hardcoded key id and content key.
Implemented an AES Encryptor using OpenSSL.

Change-Id: I59ba9a41fc0f40925d697045dd1b147b7351c2f9
2013-12-10 19:29:48 -08:00
Rintaro Kuroiwa 855ab753c0 MediaInfo needs timescale for each video and audio, and floating point for media duration.
Change-Id: I906308894da64fa266188f51d7c307e6fb42db97
2013-12-10 18:33:45 -08:00
Rintaro Kuroiwa b78f1fa51d Helper functions for MPD builder class
Change-Id: Ice97c734903c35b1356a445daa953dd2162d30b2
2013-12-05 08:17:19 +00:00
Rintaro Kuroiwa 7f393bc44f XML wrapper classes for MPD
Change-Id: Ia43b38a2a20a9df9cf6f2cc3da4ca389a81d89cf
2013-12-04 07:47:20 +00:00
Kongqun Yang 4f1aab5e51 A simple BufferWriter implementation.
The BufferWriter is capable of appending various data types to buffer.
No optimization is done yet. We may consider optimize it for
appending (adding data to the tail) later.

Change-Id: I3b8e749e410c7ea4d4f2fb855e27744131c63cb0
2013-12-03 17:27:19 -08:00
Kongqun Yang 1fade8aa36 Patch happyhttp source to make it work in linux.
Also creates gyp file and README file.

Change-Id: I437d49abacf8f9f28dcef782c153a224dbe91468
2013-12-03 10:48:33 -08:00
Kongqun Yang e5ff5834f9 Add HappyHTTP library.
We need a http communication library for license requests. HappyHTTP
is lightweight and cross platform. Compared to the url fetcher in
Chromium, it is simpler and easier to use, and it is much smaller.

The source is cloned from https://github.com/Zintinio/HappyHTTP/
SHA 7306b1606a09063ac38c264afe59f0ad0b441750.

Change-Id: I21b691452f3d7b5fea34c611012b252e2e3c9e15
2013-12-03 10:29:40 -08:00
Kongqun Yang 3c2abdafb7 Move BufferReader to media/base.
Added new functions ReadNBytesInto8(s) and several other minor
changes.

Change-Id: I175fd3be388fcfd04fc205e25ab7dec4c8b004ff
2013-12-02 17:11:03 -08:00
Kongqun Yang dc88702315 Removed EditList, added NAL and several other cleanup.
Change-Id: I2658eae0789f1c4e8d0534a6ff70267058bee2fc
2013-11-25 17:21:19 -08:00
Rintaro Kuroiwa 21aad421ce scoped_ptr definitions for libxml2 objects
Change-Id: Iafbfce42d5cb91b0a5ddbf3149d434e10a4cb8d6
2013-11-18 18:29:39 -08:00
Rintaro Kuroiwa c7fb605114 Merge "media_info.proto protobuf for MpdBuilder" 2013-11-13 20:55:55 +00:00
Rintaro Kuroiwa b5cce096e0 media_info.proto protobuf for MpdBuilder
TEST=compiles

Change-Id: I4a67013f7770f8ce41426be527919cd969894d50
2013-11-13 20:55:20 +00:00
Kongqun Yang edf74fc89f Demuxer, MediaStream, File and Status implementations.
Also includes a dummy packager_test with TestingMuxer.

Change-Id: I6a6e6dd77e343ef742adc1846ede203993628943
2013-11-11 18:13:51 -08:00
Kongqun Yang 3f3d9a6b76 Add duration, language, codec data to stream info.
Change-Id: I83d221fd36adb53ccf5629c80b137ba0ec730d55
2013-11-12 02:04:32 +00:00
Kongqun Yang e82f0c00c1 Add "set -e" to build.sh as suggested by Rintaro.
Change-Id: I75417b70c173138ec96b161faca6e09fc1b1c7f1
2013-10-31 17:22:43 +00:00
Kongqun Yang 97e576787f Merge "Build script for packager." 2013-10-30 20:51:50 +00:00
Kongqun Yang 549ff935ab Build script for packager.
Also include .gitignore.

Change-Id: Ib4788d653797f9ce3a6f99ea12859b8b1613a8d3
2013-10-30 13:20:57 -07:00
Rintaro Kuroiwa 0972f4de20 Add protobuf
- Copied from Chromium

Change-Id: I4b61e8282903feb2d64111934c9aa97955b06cf1
2013-10-28 22:57:51 +00:00
Rintaro Kuroiwa 1ada724850 Add libxml and its dependencies
- Copied from Chromium.
- third_party/libxml (v2.7.7)
- third_party/zlib

Change-Id: I4a79601a7d8d5fa920cb27632d92448753e6d2dc
2013-10-28 22:43:03 +00:00
Kongqun Yang db7602f42e Implemented non-fragmented mp4 parsing support.
Change-Id: I956704d1bf7d2d018ad65343b462c62b5042aba6
2013-10-10 18:04:32 -07:00
Kongqun Yang 338e3342b0 Create MP4MediaParser and its dependents.
Create new classes: StreamInfo, AudioStreamInfo, VideoStreamInfo,
MediaParser, MediaSample, MP4MediaParser.

Change-Id: I19c2fc73964d9f8fc90acaddd1783f4e6ff87d07
2013-10-03 16:00:54 -07:00
Kongqun Yang 0f24c7f9ac Start with media/mp4, media/webm and base codes from Chromium. 2013-09-23 18:37:14 -07:00
KongQun Yang 1205b85f3e Revert "Repo manifest"
This reverts commit 3e0e9ce466.

Change-Id: I139c8cc2284159dba3784ad3918152849424895c
2013-09-23 23:49:27 +00:00
Kongqun Yang 3e0e9ce466 Repo manifest 2013-09-23 16:27:53 -07:00
Kongqun Yang f8c8e84594 Test commit 2 2013-08-13 11:47:39 -07:00
Kongqun Yang 58a19dfc44 My initial test commit 2013-08-13 11:42:32 -07:00