Commit Graph

2591 Commits

Author SHA1 Message Date
Jiyong Park
a8d6af5ec2 Merge "Build widevine tests with BOARD_VNDK_VERSION set" into oc-mr1-dev
am: 21715115bc

Change-Id: I85a599643c184126da5f1f0046624e0e8f6c4a68
2017-08-09 02:38:22 +00:00
TreeHugger Robot
21715115bc Merge "Build widevine tests with BOARD_VNDK_VERSION set" into oc-mr1-dev 2017-08-09 02:32:48 +00:00
John Bruce
6f27c36dc4 Merge "Get System ID From OEM Cert" into oc-mr1-dev am: 6dad75e395
am: 985a3c4ea9

Change-Id: I418409dcf8ada4282137aebcceb0457132c6874a
2017-08-08 00:16:34 +00:00
Yifan Hong
14435d3ef4 Merge "Move widevine unit tests to vendor." into oc-mr1-dev am: 0e52773ff7
am: 44b5a84259

Change-Id: I3e8e9f2fa57159e2869397c209e1858eab0390e4
2017-08-08 00:16:25 +00:00
John Bruce
985a3c4ea9 Merge "Get System ID From OEM Cert" into oc-mr1-dev
am: 6dad75e395

Change-Id: I2cc708e25538c3a845938b104693cc84dbea7c7e
2017-08-08 00:00:56 +00:00
Yifan Hong
44b5a84259 Merge "Move widevine unit tests to vendor." into oc-mr1-dev
am: 0e52773ff7

Change-Id: I0fe6968f44e0ba211f360b57652e2e43002ea8a4
2017-08-08 00:00:45 +00:00
John Bruce
6dad75e395 Merge "Get System ID From OEM Cert" into oc-mr1-dev 2017-08-07 23:50:21 +00:00
TreeHugger Robot
0e52773ff7 Merge "Move widevine unit tests to vendor." into oc-mr1-dev 2017-08-07 23:40:40 +00:00
Jiyong Park
853773dd93 Build widevine tests with BOARD_VNDK_VERSION set
The tests are using vendor only libs such as libcdm and libwvlevel3,
thus marked as LOCAL_PROPRIETARY_MODULE to use the libs. In addition,
the dependency to libmedia is changed to libmedia_omx since libmedia is
not available to vendor modules. UniquePtr is replaced with
std::unique_ptr since UniquePtr.h in /libnativehelper is not available
to vendors (and will not be completely removed in a near future).

Bug: 37342627
Test: BOARD_VNDK_VERSION=current m -j tests

Change-Id: I4e9d3267b20c1d52f57664b89f15330e2ebd953d
2017-08-07 16:28:28 +09:00
Yifan Hong
5e8f727b71 Move widevine unit tests to vendor.
Test: BOARD_VNDK_VERSION=current m checkbuild -j
Test: ./build_and_run_all_tests.sh

Bug: 33241851
Change-Id: I97c8fcc84bc19d88e8aa941eb283089c8ecf47d5
2017-08-04 15:26:26 -07:00
Edwin Wong
c2145bbcef Replace toStatus indirection. am: 485f11483c
am: 213ef42448

Change-Id: I1d67208986e5d2f2eb3464d5d14a32b6beb47c90
2017-08-04 04:07:18 +00:00
Edwin Wong
213ef42448 Replace toStatus indirection.
am: 485f11483c

Change-Id: I4a650aaee96a659ec35d9be361f6027da91c47ff
2017-08-04 04:01:18 +00:00
Edwin Wong
485f11483c Replace toStatus indirection.
CdmResponseType are mapped to android::status_t, then map to hidl
android::hardware::drm::V1_0::Status. This CL removes the indirection
by mapping cdm errors to hidl Status.

Test: Play Movies (pin and streaming)
Test: Netflix (download and streaming)
Test: libwvdrmmediacrypto_hidl_test and libwvdrmdrmplugin_hidl_test
Test: GtsMediaTestCases module
Test: Vts - VtsHalDrmV1_0Target

bug: 34682447
Change-Id: I0b04f47871f5e4898e7297831d5fceab52e0f7f9
2017-08-03 17:57:44 -07:00
John W. Bruce
4d448d8165 Get System ID From OEM Cert
(This is a merge from http://go/wvgerrit/30220)

Previously, extracting the system ID was only supported on Keybox-based
systems. This patch adds support for extracting the system ID from the
OEM Certificate chain on Provisioning 3.0 devices. This is done by
getting the Widevine intermediate cert from the chain, finding the
Widevine System ID extension in that cert, and extracting the value.

The code that does the extraction is separate from any code that calls
OEMCrypto so that it can be unit-tested in isolation. This patch adds a
crypto_session_unittest test to do this unit-testing.

Bug: 34776194
Test: crypto_session_unittest
Change-Id: I3e273968208fb31ae6019ccc383b419625d1ae22
2017-07-26 20:31:39 -07:00
Thierry Strudel
01ff9a9ebf Merge commit '4e53212b0ea8f240f4345170e81abc8efba8feab' into oc-mr1-dev am: 496b184ddd
am: 415dfb927e

Change-Id: I161d6cda35ddaf8b61d04a902a3aa38a871c1c91
2017-07-26 02:38:10 +00:00
Thierry Strudel
415dfb927e Merge commit '4e53212b0ea8f240f4345170e81abc8efba8feab' into oc-mr1-dev
am: 496b184ddd

Change-Id: I4e7eb0550d51d2cdc57f21fe941fe81fa5ce11af
2017-07-26 02:34:40 +00:00
Thierry Strudel
496b184ddd Merge commit '4e53212b0ea8f240f4345170e81abc8efba8feab' into oc-mr1-dev
Change-Id: I85c1a0cd5a6fa29ec4cf8a0f96f6cec32a7147ab
2017-07-25 16:55:09 -07:00
TreeHugger Robot
cb0267404c Merge "Add dependencies on org.apache.http.legacy where needed" 2017-07-25 10:33:48 +00:00
Paul Duffin
940146a195 Add dependencies on org.apache.http.legacy where needed
Incorporates two main changes:
* Stops statically including the org.apache.http.legacy library. That library is
  a stubs library so it makes no sense to statically include it.
* Adds uses-library declaration for org.apache.http.legacy to those packages
  that depend on org.apache.http.legacy, either directly or transitively.

The following change descriptions were generated automatically and so
may be a little repetitive. They are provided to give the reviewer
enough information to check the comments match what has actually been
changed and check the reasoning behind the changes.

* libwvdrmengine/test/castv2/AndroidManifest.xml
    Added <uses-library> for org.apache.http.legacy to ensure classes
    are provided at runtime. It is marked as optional as the
    application is intended to be run on versions that do not provide
    the library, but provide the classes by default, i.e. its
    minSdkVersion is < M (23).

* libwvdrmengine/test/java/AndroidManifest.xml
    Added <uses-library> for org.apache.http.legacy to ensure classes
    are provided at runtime. It is marked as optional as the
    application is intended to be run on versions that do not provide
    the library, but provide the classes by default, i.e. its
    minSdkVersion is < M (23).

Bug: 18027885
Test: m -j32 droid && adb reboot bootloader && fastboot flashall -w
Change-Id: I4eb4621bc4c2f481c0d909acac871187f006e145
2017-07-25 09:14:51 +01:00
Thierry Strudel
a8e81323d6 Merge commit '0bb98237cdc46de2b9c08f53fc7d4c1a785eb20e' into HEAD
am: be5db1a7b6

Change-Id: I1818919cd63b9e0808ef126020d430d77053f288
2017-07-24 21:24:36 +00:00
Thierry Strudel
be5db1a7b6 Merge commit '0bb98237cdc46de2b9c08f53fc7d4c1a785eb20e' into HEAD
Change-Id: I2ffb754cb7355d84325dd7e4b9eb33ca3b18fc2d
2017-07-24 12:27:14 -07:00
Thierry Strudel
0bb98237cd Revert "Temporarily disable WV L1"
am: 4e53212b0e

Change-Id: I497aa043991af370babe49e02f9828f4f0281dc9
2017-07-24 06:14:00 +00:00
Rahul Frias
a9f829b20c Merge "Support provisioning 3.0" into oc-mr1-dev am: 59daaa9dd4
am: 49494c797a

Change-Id: I43045903c47ff41f7bdfc49de978bdc0a4175234
2017-07-24 05:51:22 +00:00
Rahul Frias
49494c797a Merge "Support provisioning 3.0" into oc-mr1-dev
am: 59daaa9dd4

Change-Id: I5d1d87894f14e602c1caefff9be21a200dc41830
2017-07-24 05:46:52 +00:00
Rahul Frias
59daaa9dd4 Merge "Support provisioning 3.0" into oc-mr1-dev 2017-07-24 05:38:49 +00:00
Rahul Frias
e61259e075 Support provisioning 3.0
[ Merge of http://go/wvgerrit/29004 ]

Enable support for provisioning with OEM certificates as root of
trust.

b/62972441

Test: WV unit/intgration test, cdm_feature_test and GTSMediaTestCases

Change-Id: I30576fc0bb68a873eeaaca03f6b9c89fa6a14327
2017-07-23 18:00:23 +00:00
Thierry Strudel
4e53212b0e Revert "Temporarily disable WV L1"
This reverts commit 0bbbf7d84e.

Bug: 63632557
Change-Id: Icfd7ae4dda47449ad6178568c4bec18c898fa5b9
Signed-off-by: Thierry Strudel <tstrudel@google.com>
2017-07-21 19:49:49 -07:00
Jeff Tinker
7a7a281adf Merge "Correct watchdog timeout am: bfef9c5748 am: 0d526131b9" into oc-mr1-dev-plus-aosp
am: bc89d3eab2

Change-Id: I4ffdf7a866d128a2e452cdda2b32a6d7771d8cc4
2017-07-21 22:17:32 +00:00
Jeff Tinker
96e67486e6 Correct watchdog timeout am: bfef9c5748 am: f0491381d6
am: bde861652c

Change-Id: Ia407b5ff9d85a876cf09e57c187fa91bbbcb9e5a
2017-07-21 22:17:21 +00:00
Android Build Merger (Role)
bc89d3eab2 Merge "Correct watchdog timeout am: bfef9c5748 am: 0d526131b9" into oc-mr1-dev-plus-aosp 2017-07-21 22:13:26 +00:00
Jeff Tinker
bde861652c Correct watchdog timeout am: bfef9c5748
am: f0491381d6

Change-Id: Ie5f942863f5d8a004571b4dc33215c2f68f93cca
2017-07-21 22:13:19 +00:00
Jeff Tinker
b7536ed96c Correct watchdog timeout am: bfef9c5748
am: 0d526131b9

Change-Id: I259cbb9ed9a4198c4a4425a6ea10c658b4e96b9f
2017-07-21 22:13:19 +00:00
Jeff Tinker
f0491381d6 Correct watchdog timeout
am: bfef9c5748

Change-Id: I5aa361f2ba38e5be9c6c2e673932f353332df1b7
2017-07-21 22:11:18 +00:00
Jeff Tinker
0d526131b9 Correct watchdog timeout
am: bfef9c5748

Change-Id: I07c5d81ba1289381a12b54a944c206c1845a21d0
2017-07-21 22:11:18 +00:00
Fred Gylys-Colwell
021f8c0bb9 Add watch dog timer to OEMCrypto L3 am: 08debe83c2
am: d50d6f7e87

Change-Id: I24aa0b3921fc16ea32768351a3da7007998f8c86
2017-07-21 19:58:22 +00:00
Fred Gylys-Colwell
d50d6f7e87 Add watch dog timer to OEMCrypto L3
am: 08debe83c2

Change-Id: Ic4faa7a2d051467c44642ecdd1f62b2a4447e04c
2017-07-21 19:52:18 +00:00
Jeff Tinker
bfef9c5748 Correct watchdog timeout
The L3 initialization watchdog was previously configured
for 2 seconds vs 5 seconds as originally intended.

Change-Id: Ie31251ac7a58c11262963ef9cb56d0dc08f5dc5b
related-to-bug:62106796
2017-07-21 12:09:43 -07:00
Fred Gylys-Colwell
08debe83c2 Add watch dog timer to OEMCrypto L3
Merge from Widevine repo of http://go/wvgerrit/29861

This code adds a watchdog timer to the oemcrypto initialization.  If
initialization does not finish within 5 seconds, the process will
abort.

For branch oc-dr1-dev, unlike nyc-mr2-dev, we save a metric indicating
there was a failure.

Testing: see code in patch 1.  Watch dog was forced while using Play
Movies.  The busy spinner spun for at least 5 seconds, but Play Movies
was able to restart itself.

b/62106796

Change-Id: Ib59f5bc4a484eff1dc386e07a4b198ecb713c69b
2017-07-21 10:17:54 -07:00
Rahul Frias
ab2a37da99 Merge "Support provisioning 3.0" 2017-07-20 06:28:04 +00:00
Rahul Frias
7e2e90841e Support provisioning 3.0
[ Merge of http://go/wvgerrit/29004 ]

Enable support for provisioning with OEM certificates as root of
trust.

b/62972441

Test: WV unit/intgration test and cdm_feature_test

Change-Id: I30576fc0bb68a873eeaaca03f6b9c89fa6a14327
2017-07-20 06:24:52 +00:00
Fred Gylys-Colwell
a81caa5bf1 Add watch dog timer to OEMCrypto L3 am: e20e909cbd
am: 6de0bd8486

Change-Id: I60c2d5848e4e731b048118fea88b0367e9cf31a3
2017-07-20 01:46:41 +00:00
Fred Gylys-Colwell
6de0bd8486 Add watch dog timer to OEMCrypto L3
am: e20e909cbd

Change-Id: I9298abc1539cb7170c5b11b14af5f7dacd09a970
2017-07-20 01:42:58 +00:00
Fred Gylys-Colwell
e20e909cbd Add watch dog timer to OEMCrypto L3
Merge from Widevine repo of http://go/wvgerrit/29861

This code adds a watchdog timer to the oemcrypto initialization.  If
initialization does not finish within 5 seconds, the process will
abort.

Testing: see code in patch 1.  Watch dog was forced while using Play
Movies.  The busy spinner spun for at least 5 seconds, but Play Movies
was able to restart itself.

b/62106796

Change-Id: Ib59f5bc4a484eff1dc386e07a4b198ecb713c69b
2017-07-19 16:35:46 -07:00
TreeHugger Robot
24a9ce769e Merge "Remove BoringSSL static targets in widevine." 2017-07-18 23:55:26 +00:00
Robert Sloan
02fb7421b9 Remove BoringSSL static targets in widevine.
Test: WidevineDashPolicyTests, MediaDrmTest, WidevineFailureTests, WidevineGenericOpsTests, WidevineH264PlaybackTests, WidevineHLSPlaybackTests, WidevineVP9WebMPlaybackTests, WidevineCodecStressTests

I saw (probably unrelated) in
com.google.android.media.gts.WidevineHEVCPlaybackTests#testL1WithUHD30
com.google.android.media.gts.WidevineH264PlaybackTests#testL1WithUHD30
com.google.android.media.gts.WidevineVP9WebMPlaybackTests#testVP9WebMCencSubSampleL1With240P30fps
com.google.android.media.gts.WidevineCodecStressTests#testVideoSecureH264
com.google.android.media.gts.WidevineCodecStressTests#testVideoSecureH265

BUG: 62945210
Change-Id: I5b5274d99ca5ad9299dc9cf9d83cb23fb6f6c13e
2017-07-18 21:44:52 +00:00
Edwin Wong
6cdf6d5a95 Merge "Check for nullptr IMemory." 2017-07-18 21:15:22 +00:00
TreeHugger Robot
d163337839 Merge "Add UniquePtr.h to libcdm" 2017-07-17 20:37:49 +00:00
Edwin Wong
d1a84b2bed Check for nullptr IMemory.
mapMemory can return a nullptr, must check for nullptr
IMemory.

Test: Play Movies (stream and pin movies)
Test: VtsHalDrmV1_0TargetTest

bug: 38386082
Change-Id: I66f9bfd08e36d575c7a45fe2eacd8fc981380c86
2017-07-17 09:54:00 -07:00
Jiyong Park
3d3655c4e6 Add UniquePtr.h to libcdm
The header in libnativehelper is not available for vendors building
against VNDK. So, copying it to local directory.

Bug: 63686260
Test: BOARD_VNDK_VERSION=current m -j libcdm
Change-Id: I5b6fd09103e2c2ae7c970fd898675aa4afe84ee2
2017-07-17 12:18:48 +09:00
John W. Bruce
740e1ca12b Report Widevine Version on Android
(This is a merge of http://go/wvgerrit/29282)

The Android API has long mandated that plugins respond to queries for a
version number, but we'd never hooked it up to the CDM's actual version
number until now.

Bug: 36867286
Test: libwvdrmdrmplugin_test
Test: libwvdrmdrmplugin_hidl_test
Change-Id: I952de4943f8e78b44d526bee66c54d31e9fe5ff1
2017-07-14 15:43:37 -07:00