Commit Graph

2189 Commits

Author SHA1 Message Date
Edwin Wong
d9e7070de7 Remove dependencies from frameworks C++ containers.
Replace AString, KeyedVector, List, String8 and Vector
with stl containers. Remove corresponding frameworks
libraries.

Test: Play Movies & TV (streaming and pinning)
Test: Netflix
Test: unit tests

bug: 34677927
Change-Id: I125f45054987d69bbca59c1ffdcbe8add38c3c13
2017-04-05 22:46:04 +00:00
Jeff Tinker
cfe80bc234 Add additional VTS drm tests for widevine
Also fixes a few cases where invalid inputs were
not checked.

bug: 34178477
Change-Id: I15c1e5f96e0843f484d8d3e29f548eac30d9dd80
2017-04-04 22:38:55 -07:00
Ryan Campbell
8558c86cbf Merge "Build libvtswidevine to relative directory." into oc-dev am: 82a0ed59fe
am: f5da7b9786

Change-Id: Id6323682562ec2891047d0c9a570bf4bcf370ed0
2017-04-04 23:14:21 +00:00
Ryan Campbell
f5da7b9786 Merge "Build libvtswidevine to relative directory." into oc-dev
am: 82a0ed59fe

Change-Id: Ie4df8154a9cf9f0f652c5302e9784cc7fd740f30
2017-04-04 23:12:22 +00:00
TreeHugger Robot
82a0ed59fe Merge "Build libvtswidevine to relative directory." into oc-dev 2017-04-04 23:05:29 +00:00
Ryan Campbell
cdaeb0716c Build libvtswidevine to relative directory.
Build libvtswidevine module relative to the directory
drm-vts-test-libs.

Test: make vts; libvtswidevine.so is in correct place.
Bug: 36889176
Bug: 36817233
Change-Id: Iadb5bd6e71a1a7c99a69feff2ecb7bded90af24d
2017-04-04 13:26:01 -07:00
Fred Gylys-Colwell
d0a3568338 Address merge comments
Merge from Widevine repo of http://go/wvgerrit/24723

Several review comments were uncovered in the merge from oc-dev to
master. This CL addresses them.  This is just style changes in test
code.

http://go/wvgerrit/24318
http://go/wvgerrit/24301
http://go/wvgerrit/24316

Test: ran unit tests.

b/36451451

Change-Id: I257f8bf9b4fb5797e3da69578b48cd040cf61bfb
2017-04-04 12:31:59 -07:00
John W. Bruce
4ca95e0b53 Turn on 64-bit Executables on Supported Platforms am: b99a4c736f
am: d4598279aa

Change-Id: I5570b430a4b492b383b551d41b3b181f447c3146
2017-04-02 05:32:34 +00:00
John W. Bruce
d4598279aa Turn on 64-bit Executables on Supported Platforms
am: b99a4c736f

Change-Id: I83842ffe27dc049dd32a4b4351b7ae21a14968e7
2017-04-02 05:29:34 +00:00
John W. Bruce
b99a4c736f Turn on 64-bit Executables on Supported Platforms
This commit changes the unit tests and HAL Service to run as 64-bit on
devices that have enabled 64-bit DRM Plugins.

Bug: 36076017
Test: Turned on the flag for a device and used the file command to
      verify that all binaries were built as 64-bit.
Test: Turned the flag back off and verified that all binaries were built
      as 32-bit. This should affect no current devices.
Change-Id: Ieb7218f15b9359f2038a6f60b8c994b16d2b5b53
2017-04-01 19:05:30 -07:00
Jeff Tinker
749ce0efcf Fix compiler warnings
Formats for size_t were incorrect

Change-Id: Ibdfdd734b9fe9e74e014fe10152ad8b9baf2d6f2
2017-03-31 16:19:41 -07:00
Jeff Tinker
3f82e2d60c Merge "Add checks for invalid parameters" into oc-dev am: b3ea54b6dc
am: 85619457ac

Change-Id: Icfe16fcd561cd7b72752219e51c5fee499ac276d
2017-03-31 05:35:51 +00:00
Jeff Tinker
e67de219e7 Merge "DRM VTS Vendor module for widevine" into oc-dev am: 2b49e7c4ec
am: c11698cd48

Change-Id: Iaba0f4bf9f47e32dcc2f821a4569f3e83588ad7c
2017-03-31 05:35:49 +00:00
Jeff Tinker
85619457ac Merge "Add checks for invalid parameters" into oc-dev
am: b3ea54b6dc

Change-Id: I6132060ba0e1dd7d77834df95896861594ea3232
2017-03-31 05:33:24 +00:00
Jeff Tinker
c11698cd48 Merge "DRM VTS Vendor module for widevine" into oc-dev
am: 2b49e7c4ec

Change-Id: I90d94e3a306a9c6da1e15b38798fd94d03d4be76
2017-03-31 05:33:22 +00:00
TreeHugger Robot
b3ea54b6dc Merge "Add checks for invalid parameters" into oc-dev 2017-03-31 05:29:54 +00:00
TreeHugger Robot
2b49e7c4ec Merge "DRM VTS Vendor module for widevine" into oc-dev 2017-03-31 05:29:54 +00:00
John Bruce
905ff26b61 Merge "Fix & Improve Test-Building and -Running Scripts" into oc-dev am: 0fba3719e7
am: fb20fb9c69

Change-Id: I1f627843302461dcdedf07b31f22690d4cf293d9
2017-03-31 01:25:34 +00:00
John Bruce
fb20fb9c69 Merge "Fix & Improve Test-Building and -Running Scripts" into oc-dev
am: 0fba3719e7

Change-Id: I47dc5a5f08f133a18516e5cdf09ad361ef9783b5
2017-03-31 01:06:14 +00:00
John Bruce
0fba3719e7 Merge "Fix & Improve Test-Building and -Running Scripts" into oc-dev 2017-03-31 00:56:55 +00:00
Jeff Tinker
76f43abcbe Add checks for invalid parameters
Part of VTS test suite validation

related-to-bug: 32815560

Test: drm hal vts test
Change-Id: I52be29cd46f535482a761f98acf6ff28870c061c
2017-03-30 16:15:01 -07:00
Jeff Tinker
01cb3cb787 DRM VTS Vendor module for widevine
This module is used with the drm VTS tests as part of HIDL/HAL
testing.  For background reference:
hardware/interfaces/drm/1.0/vts/doc/Drm_Vendor_Modules_v1.pdf

Change-Id: I38eb13696343e08fa2a1758219350d25698bfb7d
related-to-bug: 32815560
2017-03-30 23:07:11 +00:00
John W. Bruce
f2463075ac Fix & Improve Test-Building and -Running Scripts
(This is a merge of wvgerrit/24922)

This contains several fixes and improvements to the
build_and_run_all_unit_tests.sh and run_all_unit_tests.sh scripts:

* All tests are now identified as vendor binaries and thus are stored in
  the /vendor/bin/ directory instead of /system/bin/. Previously, some
  tests had moved to /vendor/bin/ but the scripts had not been updated,
  causing these tests to fail to run.
* The -j parameter can now be passed to build_and_run_all_unit_tests.sh,
  for those who want to speed up their build by using multiple cores.
* The 64-bit library directories are now added to the library search
  path, in anticipation of devices with 64-bit DRM Plugins.
* Checking for Verity protection is now done in
  build_and_run_all_unit_tests.sh (which is the script that actually
  modifies the file system) instead of just in run_all_unit_tests.sh.
* The library search path is no longer set unnecessarily for
  libwvdrmengine_hidl_test.
* The Treble-only tests and non-Treble-only tests now only run on
  devices that meet their respective criteria.

Bug: 36071236
Test: Ran build_and_run_all_unit_tests.sh
Change-Id: Iea236880c4445858111c801dfa278a528bca0f6c
2017-03-29 19:01:04 -07:00
Edwin Wong
6d766843ad Fix testOEMCryptoVersion am: 957d4a30dd
am: e59918c8b1

Change-Id: If1d42fbfe00041bd1fa33f012f1d4260e0681aaf
2017-03-30 01:32:09 +00:00
Edwin Wong
e59918c8b1 Fix testOEMCryptoVersion
am: 957d4a30dd

Change-Id: Ia2f9f78ff0741bcb7c7ecd8c348aff0736004050
2017-03-30 01:27:20 +00:00
Edwin Wong
957d4a30dd Fix testOEMCryptoVersion
Merge from go/wvgerrit/24882:

The result of crypto_session.GetApiVersion is misinterpreted.

Test: ANDROID_BUILD_TOP= -gts/tools/gts-tradefed run gts
 -m GtsMediaTestCases --test com.google.android.media.gts.
 MediaDrmTest#testOemCryptoVersion

Test: ANDROID_BUILD_TOP= -gts/tools/gts-tradefed run gts
 -m GtsMediaTestCases --test com.google.android.media.gts.
 MediaDrmTest

bug: 36728950
Change-Id: I72a05608f778fa81689013d3b231010b71329ea1
2017-03-29 15:49:59 -07:00
Fred Gylys-Colwell
7f513669a3 Merge "Disable new unit tests for old oemcrypto" into oc-dev am: 92dff24180
am: dd8979b247

Change-Id: I417835c6ea5a0b386f906004ea67c2504c50193d
2017-03-29 20:37:39 +00:00
Fred Gylys-Colwell
dd8979b247 Merge "Disable new unit tests for old oemcrypto" into oc-dev
am: 92dff24180

Change-Id: I26f0e27ef503199c679548fd08780e3ebf191a4b
2017-03-29 20:31:28 +00:00
Fred Gylys-Colwell
92dff24180 Merge "Disable new unit tests for old oemcrypto" into oc-dev 2017-03-29 20:22:23 +00:00
Edwin Wong
dc5d72f5e9 Widevine HAL must not access mediametrics binder service. am: 54061a8bb8
am: 03b51678f5

Change-Id: I1e94573ce0910e66a817a2747acfa1143c3733a1
2017-03-29 06:15:42 +00:00
Edwin Wong
03b51678f5 Widevine HAL must not access mediametrics binder service.
am: 54061a8bb8

Change-Id: I3832883c9c20ae248b4501e12b4586f193f60c71
2017-03-29 06:13:09 +00:00
Edwin Wong
54061a8bb8 Widevine HAL must not access mediametrics binder service.
Widevine HAL is not part of framework/system image and thus it is not
permitted to use Binder. Binder-like mechanisms which are permitted are
HwBinder  or VendorBinder (for communications only with vendor image
components).

Remove references to MediaAnalyticsItems used by ami_adapter.*.

Test: Play Movies & TV (streaming and pinned content)
Test: Netflix
Test: Widevine unit tests

bug: 36576915
Change-Id: I786f206c01d7c5ebfce719f3f51f5f7927f0359e
2017-03-28 14:24:02 -07:00
Fred Gylys-Colwell
17da2fbfdd Disable new unit tests for old oemcrypto
Merge from Widevine repo of http://go/wvgerrit/24863

The oemcrypto unit tests GenericKeyDecryptSameBuffer and
GenericKeyDecryptSameBuffer require features in oemcrypto v12, so they
should not be run on devices that report oemcrypto v11 or earlier.

b/36071236

Test: Unit tests run on Ryu and Bullhead.
Change-Id: Ia6645559ed98cae8d9807a14d6f0e514c5c4c615
2017-03-28 13:29:01 -07:00
John W. Bruce
bfe6046199 Build Android Unit Tests 32-bit Only
(This is a merge of http://go/wvgerrit/24738)

The change to enable 64-bit as a possible target for Widevine Android
made all the unit tests build as 64-bit on compatible platforms. Since
none of these devices support 64-bit properly yet, this is a mistake.
This patch restores unit test builds to being 32-bit only for now.

In the future, when the switch for 64-bit-supporting devices is added,
it will also switch the unit tests to 64-bit mode.

Bug: 36071236
Test: Verified unit test format with "file" command.
Change-Id: Ib4d3678181f3221b85fe6409f1d842dd15af3daa
2017-03-23 17:09:15 -07:00
TreeHugger Robot
99566d48e9 Merge "Clean Up Warnings in Android Glue Code" 2017-03-23 19:52:49 +00:00
Fred Gylys-Colwell
85365a1497 Fix or ignore compiler warnings
Merge from Widevine repo of http://go/wvgerrit/24688

b/35466719

Change-Id: If89f0cad0c61f37536a84f8dadaf08072356343a
2017-03-22 14:07:08 -07:00
John W. Bruce
92d26ff87e Clean Up Warnings in Android Glue Code
(This is a merge of go/wvgerrit/24739)

This cleans up some warnings in the Android glue code:

1) Checking if unsigned values are >= 0.
2) Using {0} initializer syntax instead of fully expanding to {0,0}.

Bug: 34394125
Test: Verified compilation passes
Change-Id: Id59730b97da7fce320f634451a44a4df4bf0b494
2017-03-22 11:08:32 -07:00
Edwin Wong
c4aad89fd0 Rename libhidl_utils to libwidevinehidl_utils.
This library is local to vendor/widevine HAL service, rename to
indicate this is used only by widevine HAL.

Test: Play Movies & TV (streaming and pinned)

Test: Netflix

bug: 36430909
Change-Id: Iacaf78f4223bf305569e7f1d04dd4e4ad0a87727
2017-03-20 11:14:36 -07:00
Edwin Wong
266898a352 Fix CTS post submit failures
MediaCodecTest.android.media.cts.MediaCodecTest.testCryptoError
was failing due to incorrect error code translation introduced
by the drm hidl hal.

Test: ANDROID_BUILD_TOP= ./android-cts/tools/cts-tradefed run cts
  --module CtsMediaTestCases --test
  android.media.cts.MediaCodecTest#testCryptoError

bug: 35137940
Change-Id: I5177367df7b57fe23a4b17c38462886786537140
2017-03-15 13:21:37 -07:00
Rahul Frias
2ec7ec27bb Address warnings in CDM unittests
[ Merge of http://go/wvgerrit/24600 ]

Test: Unit test only change. Verified by rerunning unittests.

b/36221430

Change-Id: I36a8a0a5df400673689280cbf53ba9394f827c90
2017-03-14 12:13:12 -07:00
Adam Stone
dd88c13fb1 Trim unnecessary CDM metrics.
Bug: 35269103
Test: Removing unnecessary code. Existing tests pass.
Change-Id: I1ba8572a8b3fabbf707e77b366717c9ba3069ace
2017-03-13 19:10:39 -07:00
John Bruce
5cd6622a75 Merge "Enable SPOIDs in Treble Widevine Glue Layer" 2017-03-10 03:17:52 +00:00
John Bruce
f37e37c37b Merge "Implement Widevine drm HIDL HAL service." 2017-03-10 03:13:01 +00:00
Fred Gylys-Colwell
ca2f1641c3 Merge changes I2f7052b6,Ifbfaf97c
* changes:
  Test Cleanup
  Report error OEMCrypto_ERROR_ENTRY_IN_USE
2017-03-08 20:44:36 +00:00
Fred Gylys-Colwell
2dbc81318a Merge "Give Nonce Error Explicit Name" 2017-03-08 20:44:00 +00:00
TreeHugger Robot
1322df2d28 Merge "Clean up how metrics were disabled" 2017-03-07 03:55:47 +00:00
Fred Gylys-Colwell
9bd9bcd61a Test Cleanup
Some tests code was not correctly merged from the widevine side.

An initializer in generic_crypto_unittest.cpp was missed in
http://go/wvgerrit/23767

bug: 35951647

Change-Id: I2f7052b621989a032179346edf43dcaf6cb7d921
2017-03-03 21:30:02 +00:00
Fred Gylys-Colwell
14c3a3865a Give Nonce Error Explicit Name
Merge from widevine repo of http://go/wvgerrit/24421

A nonce generation error for a certificate provisioning request had a
generic name Error2.  However, this is an actionable error by the
application: the application should wait 1 second and try again.
Therefore it deserves a more descriptive name.

bug: 35926133
bug: 35879493

Change-Id: I6c87a5a762cb970c9530a55c993d7acbed773a00
2017-03-03 21:25:20 +00:00
John W. Bruce
d9b90be205 Enable SPOIDs in Treble Widevine Glue Layer
Adds code to the Widevine Glue Layer that drives the generation and use
of SPOIDs on platforms that support SPOIDs. (All devices whose first
release is Android O or later.) Note that this only applies to the new,
Treble-ized API. If the Widevine DRM Plugin is accessed through the old
API, it will not use SPOIDs. This is by design because the old API does
not provide an application package name, so SPOID generation is no
better than the existing, origin-based solution.

Bug: 27101531
Test: Unit tests
Test: GTS tests
Test: Google Play
Change-Id: I80f79fca84065105e218e9070a1d5299c8e33500
2017-03-02 13:46:16 -08:00
Edwin Wong
2dc53442e7 Implement Widevine drm HIDL HAL service.
Modify Android mediadrm and mediacrypto glue layer to use
HIDL interface.

Test: Play Movies (streaming and offline playback)

Test: ANDROID_BUILD_TOP= ./android-gts/tools/gts-tradefed
run gts -m GtsMediaTestCases

Test:
adb shell /system/bin/libwvdrmengine_hidl_test

Test:
adb shell /system/bin/libwvdrmmediacrypto_hidl_test

Test:
adb shell /system/bin/libwvdrmdrmplugin_hidl_test

bug: 34628973
Change-Id: Icd5f2dd556acb9874697963b4d7d62cb7c943e74
2017-03-02 13:46:11 -08:00