Commit Graph

1570 Commits

Author SHA1 Message Date
Fred Gylys-Colwell
0dc746a380 OEMCrypto v11 Documentation and Headers
Merge from widevine repo of http://go/wvgerrit/16186

These are the OEMCrypto v11 documents and header files. I have updated
just enough code so that existing unit tests pass.  New unit tests,
the reference implementation, and the level 3 implementation are in
future CLs.

Change-Id: I9bbf1909e047f63a5877320a2d06740a3c4a3e32
2015-12-09 13:51:18 -08:00
Fred Gylys-Colwell
a99825b7aa Unit Test for OEMCrypto to Reject Future Key Control Block
Merge from widevine repo of http://go/wvgerrit/16250

The verification string in the key control block has an obvious
pattern that is incremented every time we update the API.  This CL
adds a unit test to make sure an implementation of OEMCrypto is not
casually accepting a future version of the key control block before
the API has even been defined.

Change-Id: I3f837f7346ef7de399441f5fcda9b13b65fa51f4
2015-12-09 09:58:36 -08:00
Fred Gylys-Colwell
6d7dcb8cba Updates to OEMCrytpo Mock
Squash merge from the widevine repo of several changes to oemcrypto
unit tests and the mock reference code.

http://go/wvgerrit/16264 Use unsigned int for count in usage table (more mock)
http://go/wvgerrit/16262 Use unsigned int for count in usage table (mock version)
http://go/wvgerrit/16247 Fix mock OEMCrypto_DeleteUsageTable
http://go/wvgerrit/16070 Fix OEMCrypto_GenerateRSASignature return values
http://go/wvgerrit/15991 Fix buffer overflow for 32-bit systems
http://go/wvgerrit/15993 Return Correct Value from OEMCrypto_RefreshKeys
http://go/wvgerrit/15880 Cast RSA_size() to int
http://go/wvgerrit/15831 Be strict about warnings for CE CDM

b/23729420
b/25221168

Change-Id: I97b91dfc672db8c586ae317977871b7d6afac4bb
2015-12-07 15:33:56 -08:00
Kyle Alexander
6886b1fa12 Add HDCP, HEVC and VP9 content samples to ExoPlayer
Change-Id: I8a181ce9f617df52b5dafb974c7891b24610fece
2015-11-30 10:14:37 -08:00
Edwin Wong
c1894e8fa4 Remove usage reports upon factory reset of device.
(This is a merge of http://go/wvgerrit/16162)

Usage tables on L3 devices are stored under IDM*. They will be removed
upon factory reset. However, we need to call OEMCrypto_DeleteUsageTable
for L1 devices because the usage tables are stored in secure storage.

bug: 25597957
Change-Id: I8533dfac60fad6ce7ddfd026a283633d6875dcf3
2015-11-20 17:34:34 -08:00
Tim Kilbourn
a53589c6fc Rename the internal copy of gmock. am: 2b2337bb3c
am: 841aa35591

* commit '841aa355911dce8f7465f2033f8a40dd07f4db73':
  Rename the internal copy of gmock.
2015-11-20 00:16:02 +00:00
Tim Kilbourn
841aa35591 Rename the internal copy of gmock.
am: 2b2337bb3c

* commit '2b2337bb3ca9df2e96b200bd6fe090e361b6c367':
  Rename the internal copy of gmock.
2015-11-19 23:01:10 +00:00
Tim Kilbourn
2b2337bb3c Rename the internal copy of gmock.
The external/gmock project does not include the patches needed for
widevine, so renaming the internal copy allows both to coexist in the
build system.

(cherry-pick of commit 5b830f19b6)

Change-Id: Id41a6b3f43b83054a979471309200471f41a45ed
2015-11-17 17:29:52 +00:00
John "Juce" Bruce
1c1108c6ef Update Widevine Android Version Number for M-MR1 (DO NOT MERGE) am: c2ce8f974f
am: 51468fd612  -s ours

* commit '51468fd6122fc35a56200b4334273ec189f830ef':
  Update Widevine Android Version Number for M-MR1 (DO NOT MERGE)
2015-10-28 19:41:46 +00:00
John "Juce" Bruce
51468fd612 Update Widevine Android Version Number for M-MR1 (DO NOT MERGE)
am: c2ce8f974f

* commit 'c2ce8f974ffe45dd8af2b4e35480ea5f6646b816':
  Update Widevine Android Version Number for M-MR1 (DO NOT MERGE)
2015-10-28 19:38:03 +00:00
John "Juce" Bruce
c2ce8f974f Update Widevine Android Version Number for M-MR1 (DO NOT MERGE)
This updates Widevine's version number (and our canary test) for
M-MR1. Widevine will report its version as 3.1.0 instead of 3.0.0,
in order to distinguish it from the version released with Android M.

Bug: 25297264
Change-Id: I79c53b2d1a63753bce2aa5a77c46543c2804d95e
2015-10-28 01:06:55 +00:00
Marco Nelissen
c8d0ddadf5 Extractors are now binderized
Change-Id: I96030f2a345aa41193cea57e6f2f925eedea7957
2015-10-27 10:28:02 -07:00
John "Juce" Bruce
64ad54fdb0 Update Widevine Android Version Number to 4.0
(This is a merge of http://go/wvgerrit/15992)

This also updates the canary so that it will be silent on master.

Bug: 25153516
Change-Id: I11163c98230c5a521609b5556b139f4508996858
2015-10-23 15:12:11 -07:00
Edwin Wong
c7bb93375b resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68 am: 1afb1066cc am: 2253f6c392 am: 10b2b36a1e am: de6d223b82 am: 3b3b609173 am: 3efbeb28d7 am: c37606b47b am: d1b284b21c
am: 220816c7e2

* commit '220816c7e2567699bcc9fe5f166257c6b9e27534':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 05:08:24 +00:00
Edwin Wong
2099e2a52b resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1 am: d5a1d5d58d am: 2ee45a97b0 am: ac1854b989 am: fc1240bdc2 am: 4c2eb98d09 am: a69baa961a am: fdc1ab381d am: 90d6be0170
am: 21f2393af0

* commit '21f2393af0840dfdec967bc7437585f7391a418f':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 05:08:21 +00:00
Edwin Wong
220816c7e2 resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68 am: 1afb1066cc am: 2253f6c392 am: 10b2b36a1e am: de6d223b82 am: 3b3b609173 am: 3efbeb28d7 am: c37606b47b
am: d1b284b21c

* commit 'd1b284b21c86b7199e85ad1b63a8d4aa4bcbef3e':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 05:06:43 +00:00
Edwin Wong
21f2393af0 resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1 am: d5a1d5d58d am: 2ee45a97b0 am: ac1854b989 am: fc1240bdc2 am: 4c2eb98d09 am: a69baa961a am: fdc1ab381d
am: 90d6be0170

* commit '90d6be017068624bd6b7d8deadc4cc07585531df':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 05:06:40 +00:00
Edwin Wong
d1b284b21c resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68 am: 1afb1066cc am: 2253f6c392 am: 10b2b36a1e am: de6d223b82 am: 3b3b609173 am: 3efbeb28d7
am: c37606b47b

* commit 'c37606b47bda3c955de689a33b3934a66f74b173':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:59:31 +00:00
Edwin Wong
90d6be0170 resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1 am: d5a1d5d58d am: 2ee45a97b0 am: ac1854b989 am: fc1240bdc2 am: 4c2eb98d09 am: a69baa961a
am: fdc1ab381d

* commit 'fdc1ab381d3c86befa2a7dc2f8afead4fa57f35d':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:59:28 +00:00
Edwin Wong
c37606b47b resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68 am: 1afb1066cc am: 2253f6c392 am: 10b2b36a1e am: de6d223b82 am: 3b3b609173
am: 3efbeb28d7

* commit '3efbeb28d7afc342f763cedab2d2d08e511a2849':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:57:44 +00:00
Edwin Wong
fdc1ab381d resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1 am: d5a1d5d58d am: 2ee45a97b0 am: ac1854b989 am: fc1240bdc2 am: 4c2eb98d09
am: a69baa961a

* commit 'a69baa961a30f88e978580b2b62894b2370db560':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:57:41 +00:00
Edwin Wong
3efbeb28d7 resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68 am: 1afb1066cc am: 2253f6c392 am: 10b2b36a1e am: de6d223b82
am: 3b3b609173

* commit '3b3b60917361b28e3812aa60bd7345d399984961':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:31:52 +00:00
Edwin Wong
a69baa961a resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1 am: d5a1d5d58d am: 2ee45a97b0 am: ac1854b989 am: fc1240bdc2
am: 4c2eb98d09

* commit '4c2eb98d0991c8f3b0002bf13d350a8ce6b8a278':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:30:09 +00:00
Edwin Wong
3b3b609173 resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68 am: 1afb1066cc am: 2253f6c392 am: 10b2b36a1e
am: de6d223b82

* commit 'de6d223b82af5c5643cfc9f11745a830fd067b57':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:28:23 +00:00
Edwin Wong
4c2eb98d09 resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1 am: d5a1d5d58d am: 2ee45a97b0 am: ac1854b989
am: fc1240bdc2

* commit 'fc1240bdc2008ce28aca3f1f2f2c13ed1a8bab4c':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:26:43 +00:00
Edwin Wong
de6d223b82 resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68 am: 1afb1066cc am: 2253f6c392
am: 10b2b36a1e

* commit '10b2b36a1eba2bd8d1de0a6dadb0fb6df3be4c01':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:26:42 +00:00
Edwin Wong
fc1240bdc2 resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1 am: d5a1d5d58d am: 2ee45a97b0
am: ac1854b989

* commit 'ac1854b9899a099d83dd2f2eecd7e0cc5ae285be':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:24:53 +00:00
Edwin Wong
10b2b36a1e resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68 am: 1afb1066cc
am: 2253f6c392

* commit '2253f6c392de69b9f0d10ed92170f96c2169085b':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:24:53 +00:00
Edwin Wong
ac1854b989 resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1 am: d5a1d5d58d
am: 2ee45a97b0

* commit '2ee45a97b06ba41ffc663b69ecb6b22547577258':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:23:06 +00:00
Edwin Wong
2253f6c392 resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905 am: ee415b7b68
am: 1afb1066cc

* commit '1afb1066cca307559d2b67e6b8fad28ad335f3ff':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:23:06 +00:00
Edwin Wong
2ee45a97b0 resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71 am: 5754438dc1
am: d5a1d5d58d

* commit 'd5a1d5d58deaf2a226ec6981db5b3be79dc6e2e6':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:21:24 +00:00
Edwin Wong
1afb1066cc resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968 am: 94dab9e905
am: ee415b7b68

* commit 'ee415b7b681e36e157be49e437797153887347bb':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:14:58 +00:00
Edwin Wong
d5a1d5d58d resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e am: 9617db4d71
am: 5754438dc1

* commit '5754438dc1ce01849b9faa910dec7a32b5b8e086':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:13:17 +00:00
Edwin Wong
ee415b7b68 resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03 am: 655574d968
am: 94dab9e905

* commit '94dab9e9051905b268eec5aede093482f0d5bc95':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:13:17 +00:00
Edwin Wong
5754438dc1 resolve merge conflicts of c0b8030851 to jb-mr1.1-dev. am: f78b0e780e
am: 9617db4d71

* commit '9617db4d71ed795f0733c4e02d56d625b576f158':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:11:35 +00:00
Edwin Wong
94dab9e905 resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d am: 27133e7a03
am: 655574d968

* commit '655574d96893b9a920253efb2f3a9a0bf6052593':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:11:35 +00:00
Edwin Wong
655574d968 resolve merge conflicts of fea63b4062 to jb-mr1-dev. am: f7c043f32d
am: 27133e7a03

* commit '27133e7a032140cbe2d2eb492a18e1f4c8af67cd':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 04:08:24 +00:00
Edwin Wong
9617db4d71 resolve merge conflicts of c0b8030851 to jb-mr1.1-dev.
am: f78b0e780e

* commit 'f78b0e780e470d460d18dd65a576931760629aec':
  Update Widevine Classic Library to 4.5.0.10109 **** DO NOT MERGE ****
2015-10-20 04:08:23 +00:00
Edwin Wong
f78b0e780e resolve merge conflicts of c0b8030851 to jb-mr1.1-dev.
Change-Id: I3a89161de0bf84fc6257338a3e932b90feba3f82
2015-10-19 20:59:36 -07:00
Edwin Wong
27133e7a03 resolve merge conflicts of fea63b4062 to jb-mr1-dev.
am: f7c043f32d

* commit 'f7c043f32da2a8fc7520b6f0cc5c8a39cb1abf18':
  Update Widevine Classic Library to 601_AndroidOS_J.7809 **** DO NOT MERGE ****
2015-10-20 02:59:35 +00:00
Edwin Wong
c0b8030851 resolve merge conflicts of 769288d009 to jb-mr1.1-docs.
Change-Id: I26df84f2907bcd18a2646bec0fbe53d9624e5a9b
2015-10-19 18:32:07 -07:00
Edwin Wong
f7c043f32d resolve merge conflicts of fea63b4062 to jb-mr1-dev.
Change-Id: Ia5dd0316bb057dbc2e185f720d194548d2a370a6
2015-10-19 18:22:48 -07:00
Rahul Frias
072cf7e711 Add level 3 libs and address build warnings
* Fix strict aliasing error in gcc

  [ Merge of http://go/wvgerrit/15856 ]

  This also ensures the alignment of 64-bit memory access in a portable
  way, without using compiler-specific mechanisms like attributes or
  platform-specific mechanisms like memalign.

  (The aliasing error does not show up in clang.)

* Return kNotSupported for non-Widevine init data

  [ Merge of http://go/wvgerrit/15853 ]

  This also improves logging for the init data parser by including a
  verbose message for non-Widevine PSSHs and by using a new IsEOF()
  method to avoid misleading "Unable to read atom size" logs.

* Cast RSA_size() to int

  [ Merge of http://go/wvgerrit/15880 ]

  It has been suggested that this may be unsigned on some versions of
  OpenSSL or BoringSSL.

* Be strict about warnings for CE CDM

  [ Merge of http://go/wvgerrit/15831 ]

  * Enable all warnings and treat warnings as errors in the CE build.
  * Fix all existing warnings (mostly unused variables, consts, and
  functions, and one signed/unsigned comparison).
  * Exclude protobuf warnings rather than maintain a divergent copy.

* Fix release build errors

  [ Merge of http://go/wvgerrit/15855 ]

* Level 3 Build With Android Emulator

  [ Merge of http://go/wvgerrit/15778 ]

  This CL rebuilds the level 3 libraries with the android emulator
  sdk_phone_*.  This seems to avoid problems with the x86 build using
  incorrect compiler flags.

  These libraries work for arm, x86, mips, arm64, and x86_64.  The level
  3 library is disabled for mips64.

  Versions:
  level3/mips/libwvlevel3.a  Level3 Library Sep 30 2015 18:29:50
  level3/arm/libwvlevel3.a  Level3 Library Sep 28 2015 13:18:25
  level3/x86/libwvlevel3.a  Level3 Library Sep 28 2015 13:08:28

Change-Id: I1e50aa78bdc84ecb905f2e55297d4f48b140341c
2015-10-15 22:50:29 +00:00
Fred Gylys-Colwell
f19bb98fb0 Update Sample Player Readme
The readme for the sample player mentions an old URL that does not
match the code.  That URL is going away soon.

Change-Id: I63fb1f0c0da79ee19351d7a7b60dfa7734cecd7f
2015-10-09 14:13:33 -07:00
Rahul Frias
72e4a10a8b Merge "Additional merges from cdm master" 2015-10-07 20:42:38 +00:00
Rahul Frias
ad3908e731 Merge "Improve query performance" 2015-10-07 16:51:34 +00:00
Kyle Alexander
d5557b42de Merge "Add XtsMediaTestCases.apk to google-tests.zip" 2015-10-06 21:57:29 +00:00
Kyle Alexander
5aff60980e Add XtsMediaTestCases.apk to google-tests.zip
Need to add our Xts Media tests to the test package, so that we can
execute those tests with our nightly regression.

Previous cl (716634) for this was rolled back, as it didn't conditionally
check for the presence of vendor/xts to the build environment before adding
the dependency. This cl corrects that, and verified by removing vendor/xts
from the build environment, and validated that both make tests built
successfully, and the generated google-tests.zip was created as expected
(only missing XtsMediaTestCases.apk).

Bug: 22094009
Change-Id: Ia4e5ee0abbaf1e0efc591d6db34aa3f35ac62330
2015-10-06 14:06:59 -07:00
Rahul Frias
e5dfb83e03 Improve query performance
[ Merge of http://go/wvgerrit/15780 ]

Android mediaDrm allows callers to serially query status information through a
property API. CDM however retrieves all status information in a map and
filters out all but the relevent one. This leads to delays in Netflix app
startup. Rewriting the CDM interface to return only the queried value.

b/24181894

Change-Id: Ie9ed6288524e3a7e03b83aa55ef3531dd52a0dfb
2015-10-05 15:22:20 -07:00
Rahul Frias
0fe3f79cc3 Additional merges from cdm master
* Update unit test make files to use BoringSSL

  [ Merge of http://go/wvgerrit/14173 ]

  This CL updates the android makefiles to use the libcrypto_static.

* Do Not Run Provisioning Tests On Devices Without Keyboxes

  [ Merge of http://go/wvgerrit/15633 ]

  The provisioning tests outside OEMCrypto were failing on devices that
  use baked-in certificates because only OEMCrypto knows that the cert
  is baked in and the device cannot be reprovisioned. This change
  skips those two tests if the device says it does not implement
  rewrapping the cert. (i.e. it does not implement provisioning)

  Bug: 23554998

* Add new third-party libs (protobuf & gyp)

  [ Merge of http://go/wvgerrit/14717 ]

  The CE CDM used to expect these to be installed system-wide, which
  creates challenges for integrators who must cross-compile the CDM.

  These are now used in source form from third_party.

Change-Id: I29cca2f9415fe2fafdf948273e5a0f5d7de50285
2015-10-05 14:24:40 -07:00