Commit Graph

146 Commits

Author SHA1 Message Date
Jeff Tinker
965cedd5ee resolved conflicts for merge of 3db90f54 to master
Change-Id: Ie9e46292e003fefce9ca44a31cb338a0ecf51930
2014-04-01 16:57:14 -07:00
Rahul Frias
ef875d25ed am 7e5c5c75: am cbcc609d: Update YT CP server URI to point to the UAT server
* commit '7e5c5c75d6f3064ce76b64fa1f389ab24dbeddaf':
  Update YT CP server URI to point to the UAT server
2014-04-01 22:15:09 +00:00
Jeff Tinker
3db90f54c1 Support CAST V2 authentication
bug: 12702350

Squashed commit of these CLs from the widevine cdm repo:

Cast V2 cdm support
https://widevine-internal-review.googlesource.com/#/c/9190/

Add CASTv2 Support to DrmPlugin
https://widevine-internal-review.googlesource.com/#/c/9228/

Test for CastV2 authentication APIs
https://widevine-internal-review.googlesource.com/9550

Change-Id: I6d66bc1bbd653db5542c68687b30b441dd20617f
2014-04-01 14:26:27 -07:00
Rahul Frias
cbcc609d5b Update YT CP server URI to point to the UAT server
Privacy tests from request license were failing as the YTCP drm
server location had changed.

Also updates the MediaDrmAPI test to reference the UAT server

This affects OEMs doing Widevine integrations on KK devices.

Merge of https://widevine-internal-review.googlesource.com/#/c/9233/
from wv cdm git repository

b/13324394

Change-Id: I97152b2a79a9088303e5fc4a5c07a413e4c85e15
2014-04-01 01:36:49 +00:00
John "Juce" Bruce
c3444dc9e9 resolved conflicts for merge of f111bea1 to master
Change-Id: I7f95eba8d5fb1e9a20800b9c1ef7fcb813eff41c
2014-03-31 17:35:24 -07:00
John "Juce" Bruce
702aadf853 Add Support for WebM Back
Adds support for WebM to the CDM. Decryption remains untouched,
however the initialization data is passed differently for WebM.

The previous version of this change broke playback for certain
apps that were being allowed to pass invalid MIME types before
this change was made. This version maintains backwards-compatiblity
for these apps for now by rewriting their MIME types as "video/mp4".

Merge of https://widevine-internal-review.googlesource.com/9225/
and https://widevine-internal-review.googlesource.com/9611/ from
the Widevine cdm repo.

Bug: 10638562
Change-Id: Ib37e838d08363f07b34b3a2e79a3f80a1f43e9ad
2014-03-31 16:16:18 -07:00
Jeff Tinker
55f1de2fe5 resolved conflicts for merge of 66cadaa9 to master
Change-Id: I2a052d56516f0e246d77148a38191430ff139c3e
2014-03-29 12:33:46 -07:00
Jeff Tinker
66cadaa9fa Revert "Add Support for WebM"
This reverts commit ab95cf27f1.

Change-Id: Ie78c2c14fa9b598b5ea67d6e9e60479e652b0b06
2014-03-29 17:09:28 +00:00
John "Juce" Bruce
f23c54d834 resolved conflicts for merge of ab95cf27 to master
Change-Id: I194f2a00507a8469b3f15bd2d629d41dc07c1b45
2014-03-28 16:30:31 -07:00
John "Juce" Bruce
ab95cf27f1 Add Support for WebM
Adds support for WebM to the CDM. Decryption remains untouched,
however the initialization data is passed differently for WebM.

Merge of https://widevine-internal-review.googlesource.com/#/c/9225/
from the widevine cdm repo.

Bug: 10638562
Change-Id: I7b8cf4888fa408af77cee103f768f5a7c8ffdc7e
2014-03-27 14:46:45 -07:00
Jeff Tinker
7e8bea7d8d am 8d08a341: am 50e237cc: Updated gMock to 1.7.0
* commit '8d08a341a75a61a956e889e1650ca1e92f07de20':
  Updated gMock to 1.7.0
2014-03-10 19:45:51 +00:00
Jeff Tinker
c4cd207d82 am 04c0ae3c: am f6ec81ff: Updated gMock to 1.7.0
* commit '04c0ae3c65f025b6ec5ef752ce0054e04b414ed4':
  Updated gMock to 1.7.0
2014-03-10 18:59:18 +00:00
Jeff Tinker
50e237cccd Updated gMock to 1.7.0
This change updates gMock to the new release, 1.7.0.  This is
necessary for Android, as Android Master has updated their gTest to
1.7.0, and we must always use the matching version of gMock.

This CL cleans up some removed files that were missed in the
previous commit.

Change-Id: I67ab17425aea8d44fff765f79737b6eb23d16b52
2014-03-10 11:55:41 -07:00
Jeff Tinker
f6ec81ffe7 Updated gMock to 1.7.0
This change updates gMock to the new release, 1.7.0.  This is
necessary for Android, as Android Master has updated their gTest to
1.7.0, and we must always use the matching version of gMock.

This should not break any existing tests, as 1.7.0 is
backwards-compatible with 1.6.0 code in nearly all cases.  There are
a few bugfixes around being too generous with type coercion in
EXPECT_THAT() and ASSERT_THAT() that could break code that was
accepted by the compiler before but was never technically safe.

For a full list of changes, including all the awesome new matchers
you can now use in your tests, see CHANGES, which is included from
gMock unchanged.

For a full list of modifications made to allow this to work on
Android Master, see the updated README.android.

No changes to the GYP files were necessary as part of this upgrade.

Change-Id: Ib1445044e78c9fe0cf16031d544577d65ebbf6df
2014-03-10 11:37:24 -07:00
Jeff Tinker
e49f0e320e Use the new borg-based proxy server for MediaDrmAPITest
Improves availability and reliability of the server.

Change-Id: I53f71e618d9c3b9dcd5df16f8e8140e63a795c3d
2014-03-04 18:43:50 +00:00
Andy Hung
641456cdcc Handle IOException from MediaCodec factory methods
Bug: 11364276
Change-Id: I930f37e8c2cba77e1da3d6a6878186182282b51e
Signed-off-by: Andy Hung <hunga@google.com>
2014-01-16 12:15:26 -08:00
Jeff Tinker
0379dcd48c am 32579c9e: am 78a9d5cd: Merge "Add tests for key sharing mode and decrypting without keys" into klp-dev
* commit '32579c9e074a77bc525336b9915671340005548a':
  Add tests for key sharing mode and decrypting without keys
2013-12-19 22:12:52 +00:00
Jeff Tinker
711a98164f Add tests for key sharing mode and decrypting without keys
Merge of https://widevine-internal-review.googlesource.com/#/c/8480/ from
widevine cdm repo.

Change-Id: Idb5ab83bceeb97016075c26c428aba692f017929
related-to-bug: 11967440
2013-12-12 16:23:19 -08:00
Jeff Tinker
46b2668c26 am da019f95: am 5d5d1baf: Merge "Address unit test failures" into klp-dev
* commit 'da019f95568a7833e2490094017f4afcaae44bfd':
  Address unit test failures
2013-12-12 19:37:47 +00:00
Jeff Tinker
04b1c25788 am 2dffd3db: am 88063a8d: Merge "Add additional MediaDrm API tests" into klp-dev
* commit '2dffd3db32d5ef6f79843831d4ac8f8f628d5321':
  Add additional MediaDrm API tests
2013-12-12 19:37:47 +00:00
Jeff Tinker
5d5d1baf7a Merge "Address unit test failures" into klp-dev 2013-12-12 19:26:03 +00:00
Jeff Tinker
4ab8efc21d Add additional MediaDrm API tests
bug: 12033958

Merge of https://widevine-internal-review.googlesource.com/#/c/8402/
from the Widevine CDM repo.

Change-Id: I441eb816db69620feff0bd72c485bd3ad7ec8031
2013-12-12 10:56:51 -08:00
Rahul Frias
f32baf91b5 Address unit test failures
A number of failures were observed,
* GPlay dev license server is being worked on. This causes random
  failures when running unit tests. Switching to the staging
  server for now.
* Occasionally, the license server times out. Introducing a retry
  mechanism do deal with HTTP responses (merge from master #45e8ddd5f)
* Release license tests are now disabled. Tests were previously passing,
  even though they were not in fact supported by the GPlay license server.
  The response included just enough information to be a valid license and
  passed minimal verification that was taking place. Additional verification
  was not necessary because session is torndown and resources released as
  soon as the response has been received.
  A change at the GPlay server now causes the release license request to be
  flagged as an error and the tests to fail. Work is in progress to
  support release of licenses at the GPlay server.
* The wrong message test (from request license tests) fails. This is
  because GPlay behaviour changed from returning a HTTP 500, when
  processing an invalid PSSH, to returning a HTTP 200 without any included
  license.
* Security level path backward compatibility tests on L3 which failed and
  caused the succeeding license request tests to fail.

b/12000457

Change-Id: I8e6adc490504475d1039793ea555a17799cb78c4
2013-12-11 16:22:58 -08:00
Jeff Tinker
ff77c24030 am 4028bba8: am 113d4d07: Add end-to-end generic encrypt/decrypt/sign/verify tests
* commit '4028bba8a777d977f3bd0d28c5bc17a0ff2d8919':
  Add end-to-end generic encrypt/decrypt/sign/verify tests
2013-11-13 09:58:15 -08:00
Jeff Tinker
113d4d0755 Add end-to-end generic encrypt/decrypt/sign/verify tests
bug: 11534771

Merge of https://widevine-internal-review.googlesource.com/#/c/8291/
from the Widevine CDM repo.

Change-Id: I76110013838f91c8009fe710586226c96de890be
2013-11-12 14:19:58 -08:00
Jeff Tinker
83b22d3030 am 98872de3: am 0553f411: Add ExoPlayerDemo.apk to vendor/widevine so partners can access it and use to verify integrations.
* commit '98872de379decad058bee872a37bf880144644e2':
  Add ExoPlayerDemo.apk to vendor/widevine so partners can access it and use to verify integrations.
2013-11-07 09:52:15 -08:00
Andy Hung
b0c5ecc86d Revert "Add "throws IOException" to MediaCodec constructors (8)"
This reverts commit 35133e2bc5.

Change-Id: Iba6767447262ae092e4d38cccf9a4caf5aa75adb
2013-11-07 05:05:08 +00:00
Jeff Tinker
0553f411db Add ExoPlayerDemo.apk to vendor/widevine so partners can access
it and use to verify integrations.

bug: 11357407

Change-Id: Ie38cef1dfd2fe685721e7fb4f37e881326321727
2013-11-06 14:28:09 -08:00
Andy Hung
35133e2bc5 Add "throws IOException" to MediaCodec constructors (8)
Change to add "throws IOException" to android.media.MediaCodec
(createByCodecName|createDecoderByType|createEncoderByType).  The exception was
previously thrown through the native JNI, but not explicitly declared.

Requires changes to existing code for declaration compatibility.

Bug: 11364276
Change-Id: I6487408709342b390bac2b935f4642d4aaf36102
Signed-off-by: Andy Hung <hunga@google.com>
2013-11-05 14:25:52 -08:00
Kenny Root
069b9b5efe Use canonical UniquePtr.h file
Change-Id: I2beb5107cd8842fa2f1fa8e8b482783e79bb05cb
2013-09-11 23:33:25 -07:00
Kenny Root
c9e3cb4c00 Use canonical UniquePtr.h header
Change-Id: Ic3ae70021a83128fcb57f8835f3ba66081ff2ed3
2013-09-11 15:06:07 -07:00
Jeff Tinker
d4fa39113d Improve Widevine MediaDrm plugin tests
1. add missing checks to set the overall result when some tests fail
(to verify b/10528466)

2. Fix test result on L1 devices where we can't hash the decrypt result
due to inaccessible memory buffers.

3. Configure the codec with a surface to avoid codec errors on L1 devices

b/10528466

Merge of https://widevine-internal-review.googlesource.com/#/c/7510/
from the widevine CDM repo

Change-Id: I5c7ef5ce802cc4ff63f62524ef2120fb671920f4
2013-08-28 17:14:46 -07:00
Jeff Tinker
f51c0d27e1 Support New isContentTypeSupported API
Adds support and tests for the new isContentTypeSupported API to the
Widevine DrmEngine.

Bug: 10244066

Merge of https://widevine-internal-review.googlesource.com/#/c/7321/
from the Widevine CDM repo.

Change-Id: I4f606de7897a49da745ff76faceeb358f8ac9073
2013-08-22 09:33:58 -07:00
Jeff Tinker
10a55612d0 MediaDrmAPI test: send signed provisioning request as query string
bug: 8790775

Merge of https://widevine-internal-review.googlesource.com/#/c/5510/
from Widevine CDM repository

Change-Id: I7d040fcebdea7f038352bd4216dcbaab4ff9401c
2013-05-08 17:41:52 -07:00
Jeff Tinker
cb5541b740 Hook up events and new exceptions in the MediaDrm API test
Bug: 8725707

Merge of https://widevine-internal-review.googlesource.com/#/c/5302/
from the Widevine CDM repository

Change-Id: If142e558585e5cc7ba0cecf45693413943b2b64f
2013-04-30 17:35:29 -07:00
Jeff Tinker
f702e50919 Update java MediaDrm API test to cover more of the API
bug: 8620943
Change-Id: I72b690cfcd838064a470042e0943a711cc536207
2013-04-25 05:34:39 -07:00
Jeff Tinker
4b0963de96 Update MediaDrmAPI test to use boxless-pssh
bug: 8584241

Merge of https://widevine-internal-review.googlesource.com/#/c/5280/
from Widevine CDM repository

Change-Id: I3596e41a67df44e25c9b31c4c16d4c3d9b7ad92a
2013-04-24 14:29:27 -07:00
Jeff Tinker
f2c3db81d3 Unit test script and end-to-end license/decrypt test update
Does not affect any production code, only unit tests

Makes the end-to-end license/decrypt test compatible with the
fix for b/8604068 (merged).

related-to-bug: 8604068

Merge of https://widevine-internal-review.googlesource.com/#/c/4982/
from widevine cdm repository to android repository.

Change-Id: Ic5739c9de0cd385a672311ec87b9a475e367121a
2013-04-18 17:20:57 -07:00
Jeff Tinker
38f5308c85 Update libwvdrmengine to be consistent with MediaDrm API review update
bug: 8603279

Change-Id: I1d4dfdc52c1cdb74ead4ad373a3a03abc8886299
2013-04-17 19:45:19 -07:00
Jeff Tinker
e6b1fedc4c Widevine CENC drm engine update
bug: 8601053

This import syncs to the widevine git repository change
commit 6a99ad1b59ad39495f62954b3065ddc22b78da49

It includes the following changes from the widevine git
repository, which complete the jb-mr2 features

    Fix Unit Test Makefile
    Adds support for device certificate provisioning.
    Support application parameters
    Certificate based licensing
    Proto for client files
    Implement Property Query API
    Add Device Query For Unique ID
    Implement Generic Crypto in DrmEngine
    Do not validate Key IDs on clear playback
    Allow OEMCrypto_DecryptCTR with clear content and no key
    Add a case to the MediaDrm API test to repro b/8594163
    Implement requiresSecureDecoderComponent
    Implement Eventing API
    Add end-to-end decryption test with vectors
    Refactoring of properties class
    Refactor OEMCrypto unittest.
    Fix for b/8567853: License renewal doesn't renew license.
    Add KEY_ERROR callback to WvContentDecryptionModule() ctor.
    Merged certificate_provisioning.proto and
      client_identification.proto to license_protocol.proto.
    Fix nonce check failure after a malformed key in OEC Mock.
    asynchronize decryption
    Allow querying of control information
    make debugging AddKey & Decrypt statuses easier
    Revert "Revert "Send KEY_ERROR event to app on license
      expiration or failure""
    Revert "Send KEY_ERROR event to app on license expiration
      or failure"
    Send KEY_ERROR event to app on license expiration or failure
    remove extra session id copy
    use KeyError constants directly
    replace variable-length arrays with std::vector and fixed-sized array
    pass session ids as const references
    refactor key extraction and update keys on renewal
    Updates to enable renewals and signaling license expiration.
    fix error constant in OEMCrypto_DecryptCTR

Change-Id: I5f7236c7bdff1d5ece6115fd2893f8a1e1e07c50
2013-04-12 14:21:37 -07:00
Jeff Tinker
2f980d7d7e Fix for b/8594163 [SelectContentKey(): No key matches key id]
...when playing clear parts of encrypted content.

Change-Id: I5fb027d22212f07b43deced2da77c98cb3800e7f
2013-04-11 14:14:55 -07:00
Jeff Tinker
352e7b0820 Add end-to-end decryption test with vectors
Added a test_mode flag to the libwvdrmengine plugin
to support verifying decryption results.

Change-Id: I9edbd6279d54fc495b5bbad8273c179106cad474
2013-04-09 13:32:46 -07:00
Jeff Tinker
f3ec8c19d6 Import updates to the Widevine CENC DRM Plugin
This change incorporates the following CLs from the Widevine
cdm repository:

    Update the java request/response test app to match Drm API changes
    Don't build the mock liboemcrypto.so by default
    Do not build CDM tests by default
    Fix Build Break in DrmEngine Unit Tests
    Fix Build Break in WVDrmPlugin
    Initial version of roadmap for CDM projects.
    Implement License Query
    Implement Generic DRM in OEMCrypto Reference Implementation
    Add key_data_length field when calling OEMCrypto_LoadKeys
    Policy engine unittests
    Generalized DRM API for OEMCrypto
    Fixes proto buf libraries build.
    Add Version Number to OEMCrypto API
    Test key control block duration field in OEMCrypto
    Add fix for missing crypto offset.
    Fixed android/media*/test builds and added proto files for Cert. provisioning
    Refactor and clean up callback code in CDM.
    Add "device_id" name-value pair to LicenseRequest::ClientIdentification
    Separate unit and end-to-end tests from the top level makefie.
    Includes changes for 'fall back to l3 oemcrypto lib' in top level makefile.
    Fall Back to Level 3 if Level 1 Fails
    Fix compilation error in wvcdm_unittest.
    Fix Android build break due to Decrypt() signature change in cdm_engine.h.
    Wire up callbacks and errors in the Steel proxy.
    Fix lock assert if there is no keybox on the device.
    RSA Certificate Unit Test
    Change Generic_Verify signature to constant.

Change-Id: I2e42db9d0b4f8d4e833675ae81d0714509bbfd2c
2013-04-03 19:53:12 -07:00
Jeff Tinker
9a16115975 MediaDrm API update
Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.

Change-Id: I3788e7b187cd20c4224bf07f3fc6bef48ee38bd6
2013-03-30 16:30:21 -07:00
Jeff Tinker
1a8aa0dd05 Initial import of Widevine Common Encryption DRM engine
Builds libwvmdrmengine.so, which is loaded by the new
MediaDrm APIs to support playback of Widevine/CENC
protected content.

Change-Id: I6f57dd37083dfd96c402cb9dd137c7d74edc8f1c
2013-03-22 11:14:17 -07:00
Fred Gylys-Colwell
225c70eeed Create Skeleton Directory Tree for DASH
This is the skeleton directory tree for work in the DASH
implementation.

Change-Id: I38b52d133d48df6b78f3d142b1969686c60fc76b
2012-11-27 13:04:27 -08:00