Rintaro Kuroiwa
a84d6a7d09
Add mimeType to Representation and use float for duration
...
Work on some TODOs.
Mandatory mimeType field was missing from Representation.
All duration in the MPD is now float.
Change-Id: I85b8511bc1c43759d80f831bee371c398895cf39
2014-01-14 13:58:01 -08:00
Rintaro Kuroiwa
4723ef777d
Add container type to MediaInfo proto
...
Change-Id: Ife22c7d8641af3847be3da9bf6e96146d72749f0
2014-01-14 21:10:28 +00:00
Kongqun Yang
e7472c4247
Fix a path conflict due to merging.
...
Change-Id: Ib84e9628e62d423141fcad5e9763fc87dd666c5e
2014-01-13 18:10:10 +00:00
Rintaro Kuroiwa
db5b2a4740
Unit test for MPD builder
...
Initial checkin, very small coverage.
Change-Id: I60f3fd768d5b8dca7a84f051e57f59a654272e53
2014-01-10 17:40:26 -08:00
Kongqun Yang
1eb5236c90
Rsa Key unittest.
...
Change-Id: I761db06762e594884f339aee66fec171c92b8108
2014-01-11 01:16:40 +00:00
Kongqun Yang
a725f3fd02
Fix mp4 parsing failure if CTTS table is empty.
...
The original code assumes CompositionOffset is always valid and
has the same number of samples as other table, which is not true
if CTTS table is empty for non-fragmented mp4.
Change-Id: If4ecc1159de33202db4ab36df8e32c2a6900daf8
2014-01-10 16:36:22 -08:00
Rintaro Kuroiwa
0ccae0d0c9
Add namespace info to MPD
...
Change-Id: Ie12ebb1fef24d60ff7b8644406931a2677d7033e
2014-01-11 00:03:41 +00:00
Kongqun Yang
c73bfadd0e
Move test utilities in media/base to media/test.
...
Also clean up test_data_util.cc.
Change-Id: Ic6038e072939d55fad7cc739b53ab9888b4251c1
2014-01-10 15:38:40 -08:00
Rintaro Kuroiwa
faab1435ba
Merge "A muxer listener implementation for VOD"
2014-01-10 23:35:12 +00:00
Kongqun Yang
e4ebc9763c
Rename AAC to AACAudioSpecificConfig.
...
Change-Id: Idda2db1f2cdde6c2c220830c2681bef209ad4ce2
2014-01-10 23:34:50 +00:00
Rintaro Kuroiwa
1a28e0c475
A muxer listener implementation for VOD
...
Change-Id: I48890799deb7cda66d477392a671bbd8c01a9dbe
2014-01-10 15:32:13 -08:00
Rintaro Kuroiwa
4c01b89625
Merge "Add fields in ContentProtection to match MPD spec"
2014-01-10 22:57:34 +00:00
Rintaro Kuroiwa
d34a331ef5
Add fields in ContentProtection to match MPD spec
...
Because we need to have all meta info in the MediaInfo protobuf, we need
full 'ContentProtection' element.
Change-Id: I714ff5b8d7baa2ae0d169a59005210a63da315b5
2014-01-10 14:53:06 -08:00
Kongqun Yang
ffc4a82460
Implement RsaPrivateKey and RsaPublicKey.
...
Used for message signing, signature verification, encryption and
decryption using RSA algorithm.
Change-Id: Icacd5a994c532a7bd4179c44e98c3ee9db744e83
2014-01-10 22:28:20 +00:00
Kongqun Yang
1e7080dda6
Implement Widevine encryptor source.
...
Use AES CBC signing for now. Rsa signing is not implemented yet.
Change-Id: Ife52ac098e9a82d4e40bbe0c0156f435a67c1aac
2014-01-10 14:24:15 -08:00
Kongqun Yang
577f899794
Implement AES CBC encryption/decrytion.
...
Change-Id: I017b02b5e8fc64c280a8245b72be89e1cf047f26
2014-01-10 21:33:09 +00:00
Rintaro Kuroiwa
d36091cf65
MpdNotifier and simple MpdNotifier implementation for VOD
...
This is the MPD side of the bridge between MpdBuilder
and Muxer.
Change-Id: I4ca7436914e008b3c65399cced1f689abd82d085
2014-01-10 11:35:38 -08:00
Kongqun Yang
cde567c14c
Add gflags for commandline flags processing.
...
gflags configuration files are fetched from webrtc:
https://code.google.com/p/webrtc/source/browse/trunk/third_party/gflags
gflags source is cloned from https://github.com/schuhschuh/gflags
Change-Id: Ieb544990278b542decd2a25e6c24fc93cc5e3228
2014-01-10 02:38:18 +00:00
Rintaro Kuroiwa
0f3056b551
Use scoped_ptr for box ownership transfer
...
MP4Muxer passes ownership of ftyp and moov box to MP4Segmenter.
Change-Id: Iae7c7161560c744d8d3e7e5382450e7d056112ec
2014-01-08 12:06:04 -08:00
Kongqun Yang
1b5c3b5316
MP4 Muxer implementation.
...
Change-Id: I2aeb506e5bf7e2301e855456688273fe5f3988a2
2014-01-07 17:40:37 -08:00
Kongqun Yang
01646837e1
Implement write function for cenc and es_descriptor.
...
And MP4 code clean ups due to mp4 box changes.
Change-Id: I712b2dceb5038bfefa14097fe2fb2ab1fb913cb5
2014-01-07 16:59:52 -08:00
Kongqun Yang
dccb069ffc
A simple HTTPFetcher implementation using happyhttp.
...
Change-Id: I4f64d46ca4873711300ae175c5f5646ca1a7c366
2014-01-06 22:02:36 +00:00
Rintaro Kuroiwa
79bd9eb51d
Merge "Ignore pyc files"
2014-01-06 20:11:55 +00:00
Rintaro Kuroiwa
807f21d81a
Ignore pyc files
...
Change-Id: Icf52c911c1fa0a9a601c7c95576485f7f495cfe3
2014-01-06 11:40:13 -08:00
Kongqun Yang
636baf9b21
MP4 Box unittest.
...
Change-Id: I1ed9b0108f5da4c52a3e33514ac4fd952f6616d0
2014-01-02 17:14:53 -08:00
Kongqun Yang
57474b31d6
Implement mp4 box read/write.
...
The box may be optimized if necessary during writing.
Change-Id: I7a46e72a0bcbeacb23085a87e1f0df3a826e4da7
2014-01-02 17:12:51 -08:00
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