The main thread may run ahead of the closure thread. In this case,
Stop() could have been called before the first Push() call.
Change-Id: Ib6d94d451a8215fff572ea13f9567ba786d77fa5
The crash happens if the thread is created but never started. An
improper Join triggered the crash. We should not call Join if the thread
is not started.
Change-Id: Icace740889089d3b2e15cf6c76c2b0887eb84535
ClosureThread runs a Closure in a platform thread. Chromium Thread class
involves message loop, so we choose to implement our own based on the
lower level SimpleThread which wraps PlatformThread.
Change-Id: Ibb759f7debcc027c0764195ca93506f9a202110b
User should not need to care about how and when to call these APIs.
Internal code should call them automatically.
Change-Id: Ibc85a709d4e82ecc7b477986cabf09dcfc2e100c
1. Use size_t for MediaSample size;
2. Get rid of stringstream in media_sample.cc and media_stream.cc.
Change-Id: I11fe650305a732ae6a18546ac68692e03ecedae4
The warnings and warnings-as-errors are enabled by set chromium_code to
1. Chromium build disables warnings and warnings-as-errors by default
on external contents.
And fix the errors with them enabled. Mostly defined but not used,
sign-unsign comparison, unsigned string formatting, and return value not
used etc.
Change-Id: I305b63924955a84172e98e0ebfe5aba0f11bdb37
Latest rev of happyhttp fixes the bugs so patches are no longer needed.
Also removes http_fetcher_unittest from the build as it performs real
http requests to an external server.
Some TODOs remain but are replaced with word NOTE instead. Some TODOs
are turned into bugs.
The patch are prepared using script:
find . -regex ".*/\(app\|media\|mpd\)/.*\.\(cc\|h\|gyp\)" \
-exec sed -i "/TODO/d" {} \;
(remove the line containing TODO) with some post editing.
Change-Id: I6dd3539cce2bbeefee32d6307f78c13aacb94d1b
The change is made using command:
find . -regex ".*/\(app\|media\|mpd\)/.*\.\(cc\|h\|gyp\)" -exec sed -i
's,TODO(\w\+),TODO,g' {} \;
Then scan through the files and reformat them properly.
Change-Id: I13836cde38b9e30daf1fd8a847e203337f883e1b
Manifest was updated in CL 7debbbe19b158ea7377e229a17ec1d3d9d19d1b8
to point to Chromium LGKR CL 253526.
There are some API refactoring in base, which result in some code
changes in our packager source.
Change-Id: I52bf5a8a4f8fe0ebc566677efcd572332db8f618
The information is generated by Edwin's copyright.py script with some
minor manual modifications.
Chromium's original copyright notice is not replaced.
Also add LICENSE file taken from
https://sites.google.com/a/google.com/ospo/releasing#TOC-BSD-License
Change-Id: I231f09af96a0a611b1ca81e95cab82e12d7f529b
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
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
Use EncryptorSource::CreateEncryptor for encryptor creation.
EncryptorSource no longer owns the created encryptor.
Change-Id: I34d1f32262b7692bcb347d3b084fd06cbae7850f
FixedEncryptorSource takes hardcoded key id and content key.
Implemented an AES Encryptor using OpenSSL.
Change-Id: I59ba9a41fc0f40925d697045dd1b147b7351c2f9
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