Kongqun Yang
522048b0d9
Add a muxer option to normalize PTS to start from 0
...
Some players do not like non-zero starting PTS. We need to do PTS
normalization to make it work on those players.
Bug: 12686658
Change-Id: I0958c25395e4ea87d8208db9a5f6c5816827eb99
2014-01-24 22:34:27 +00:00
Kongqun Yang
5b826ec637
Workaround server limitation with client retries.
...
Change-Id: Ia1c7b20682e50a5931a83be0f464d81acf7c07af
2014-01-23 18:50:54 -08:00
Kongqun Yang
596e59c8be
Add RSA signing support in WidevineEncryptorSource
...
Defines an abstract request signer class and two implementations of the
signer class, AesRequestSigner for AES-CBC signing and RsaRequestSigner
for RSA-PSS signing.
WidevineEncryptorSource now uses Signer for signature generation.
Change-Id: I4528409a9be998535bccde40fdadb412e4bbdaf3
2014-01-21 18:32:08 -08:00
Kongqun Yang
e6df0ffb21
Fix asan error in aes_encryptor_unittest.
...
The error was caused by an incorrectly constructed test case.
Change-Id: I86006bd79d85f68d28d623da5c644b9037a12844
2014-01-17 01:42:40 +00:00
Kongqun Yang
8095e21c96
Clean up clang compilation errors.
...
Clang from Chromium enforces Chromium styles:
http://www.chromium.org/developers/coding-style ,
http://www.chromium.org/developers/coding-style/chromium-style-checker-errors .
Change-Id: I8070739489a8109380578d1797801e981d119793
2014-01-17 01:41:45 +00:00
Rintaro Kuroiwa
e4d94be0d3
Fire MuxerListener events from MP4Muxer
...
Implementation only for OnMediaStart and OnMediaEnd.
Change-Id: I58a94c29b7e8cecf29b6202c7018592e5ce620b2
2014-01-14 18:25:07 -08:00
Kongqun Yang
57ca7d2144
Remove EncryptorSource argument from Muxer constructor.
...
Add a new function Muxer::SetEncryptorSource. Also clean up
packager test.
Change-Id: I5fee46e3d15e0c7a0f138c1d90f980b724887768
2014-01-15 01:48:41 +00:00
Kongqun Yang
b6af6ca976
Move encryptor creation out of EncryptorSource::Initialize.
...
Use EncryptorSource::CreateEncryptor for encryptor creation.
EncryptorSource no longer owns the created encryptor.
Change-Id: I34d1f32262b7692bcb347d3b084fd06cbae7850f
2014-01-15 01:47:47 +00:00
Kongqun Yang
e7472c4247
Fix a path conflict due to merging.
...
Change-Id: Ib84e9628e62d423141fcad5e9763fc87dd666c5e
2014-01-13 18:10:10 +00:00
Kongqun Yang
1eb5236c90
Rsa Key unittest.
...
Change-Id: I761db06762e594884f339aee66fec171c92b8108
2014-01-11 01:16:40 +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
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
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
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
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
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
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
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