Commit Graph

7106 Commits

Author SHA1 Message Date
Rahul Frias
023fd9d026 Merge changes Ied664ce8,I90004025 into udc-dev am: 13368f4076
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23088670

Change-Id: I6768d72e30a2ec12ca579d2555692d833146fb09
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 15:31:35 +00:00
Rahul Frias
13368f4076 Merge changes Ied664ce8,I90004025 into udc-dev
* changes:
  Test refactoring to support load on renewal tests
  Fix formatting of renew on license load integration tests
2023-05-12 15:08:16 +00:00
Jooyung Han
fbaede0920 Merge "Add build script for widevine apkset." into udc-dev am: d13f8124ff
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23157000

Change-Id: I0dcd49214028a32eeeca0f2ecd16ad3ada6a626b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 08:53:25 +00:00
Jooyung Han
d13f8124ff Merge "Add build script for widevine apkset." into udc-dev 2023-05-12 08:14:22 +00:00
Rahul Frias
d50b9031c9 Test refactoring to support load on renewal tests
[ Merge of http://go/wvgerrit/174470 ]

There are two sets of changes
* Mocking CryptoSession so that OEMCrypto API version can be queried
* Creating a PolicyEngineTestV16 so that API version expectations
  can be set and V18 can be accommodated.

Bug: 278751387
Test: policy_engine_unittest
Change-Id: Ied664ce87e22f697b6a45d3c573e22273e65e37f
2023-05-11 16:16:20 -07:00
Alex Dale
36da43c5f1 Remove duplicate session ID in metrics dump. am: ed81ae2b11
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23149071

Change-Id: If31c40e4512219338d21872ab43ece22be51ac03
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-11 20:04:52 +00:00
Rahul Frias
f0e546d703 Fix formatting of renew on license load integration tests
[ Merge of http://go/wvgerrit/174270 ]

Bug: 240995342
Test: Duration use case tests
Change-Id: I900040256b4accf2b695a6da0827033eadb4f2e4
2023-05-11 01:52:08 -07:00
Jooyung Han
6808813f46 Add build script for widevine apkset.
This builds Widevine APEXes for every target arch and then build APKS
file signed with devkeys.

Bug: 281617982
Test: DIST_DIR=out/dist UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true \
  TARGET_BUILD_APPS="com.google.android.widevine \
    com.google.android.widevine.nonupdatable \
    com.google.android.widevine.lazy" \
  vendor/widevine/libwvdrmengine/apex/device/build.sh
Change-Id: I6b47d9de3d572298e84b26b744710818e9f75210
2023-05-11 16:01:39 +09:00
Alex Dale
ed81ae2b11 Remove duplicate session ID in metrics dump.
[ Merge of http://go/wvgerrit/174932 ]

Bug: 281794097
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Change-Id: Id29e1c4298ed5b86453f22012cfccc2cb5ee7d05
2023-05-10 16:20:45 -07:00
Kyle Zhang
ec1bedb5ac Merge changes Icd280b53,I6eed117e into udc-dev am: 1a42aed25b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23049485

Change-Id: Iab9ef74a334cad8d5e77853b62b11ca7abd3abbd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-10 19:38:37 +00:00
Kyle Zhang
1a42aed25b Merge changes Icd280b53,I6eed117e into udc-dev
* changes:
  Cast Receiver integration test
  Combine provisioning code for tests and improve logging
2023-05-10 18:40:30 +00:00
Fred Gylys-Colwell
d211195f92 Cast Receiver integration test
Merge from Widevine repo of http://go/wvgerrit/169471

Remove the test in android tests and add it to the
core tests.

Bug: 276464340
Test: GTEST_FILTER="CorePIGTest.CastReceiverProvisioning*" jenkins/run_fake_l1_tests
Change-Id: Icd280b532ddae274f66b2fab3e65520e96adb7cb
2023-05-10 18:40:21 +00:00
Fred Gylys-Colwell
836b1a30a6 Combine provisioning code for tests and improve logging
Merge from Widevine repo of http://go/wvgerrit/169018

This CL adds a provisioning holder that attempts to
provision and logs the request and response for
failures. The server team can replay the request to debug
problems on their end.

Bug: 276464340
Test: ran cast and ota tests
Change-Id: I6eed117e504ae3287f2ba16c3c507cfdc7456f8d
2023-05-10 18:38:50 +00:00
Rahul Frias
d596e934af Fix oec session id in dynamic adpater am: 09d7572ece
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23104917

Change-Id: I6666ff4867e93535ead2dad7f912ee99f2cc7b5d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-10 07:14:39 +00:00
Rahul Frias
09d7572ece Fix oec session id in dynamic adpater
[ Merge of http://go/wvgerrit/174572 ]

Pass the real oemcrypto session id from `pair.session` instead of
`session` for CopyBuffer, since `session` can be changed when L1
and L3 are running in parallel and `session` in that case may not
be the correct oemcrypto session id any more.

Bug: 279967915
Test: wvts
Change-Id: Ic5e21ccb227d4c4992ef500435fa3b68812c4d9b
2023-05-08 23:21:47 -07:00
Treehugger Robot
09a54ed365 Merge "Skip RenewOnLicenseLoad tests for v17 OEMCrypto" into udc-dev am: 24c3bbb783
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23049486

Change-Id: Ic475a47f38058649131fb5180b558c66f7b6eb63
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-09 01:26:47 +00:00
Treehugger Robot
7e714045b6 Merge "Expect failure on license load for expired LDL license" into udc-dev am: 6511d44f3c
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23049483

Change-Id: I7f6b2eff1ea45eac8268e7ff1bfd6b6f21875c11
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-09 00:32:29 +00:00
Alex Dale
633986c2d0 Updated usage test to expect v16 duration values. am: f2bf164914
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23066555

Change-Id: I2947622573d455c0a74bda1c162f00996fcc9f74
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-08 23:14:12 +00:00
Treehugger Robot
24c3bbb783 Merge "Skip RenewOnLicenseLoad tests for v17 OEMCrypto" into udc-dev 2023-05-08 20:38:47 +00:00
Treehugger Robot
6511d44f3c Merge "Expect failure on license load for expired LDL license" into udc-dev 2023-05-08 19:03:33 +00:00
Rahul Frias
fa4f9ca07d Skip RenewOnLicenseLoad tests for v17 OEMCrypto
[ Merge of http://go/wvgerrit/173950 ]

Bug: 280641992
Test: duration use case tests
Change-Id: If81df367c9359592b1ba797f6192d413afe55273
2023-05-08 11:55:40 -07:00
Alex Dale
f2bf164914 Updated usage test to expect v16 duration values.
[ Merge of http://go/wvgerrit/174431 ]

It is possible that the initial license duration was limited due to
the finit rental duration; however, if the license has a soft rental
duration, it will be considered unlimited after playback has begun.

The *.UsageTest* have been updated to ignore cases where initial
license durations are finit, but later report as unlimited.

Bug: 275651559
Test: cdm_extended_duration_test
Change-Id: I689163b1066b2bc9f9345e2279e9373010f844cc
2023-05-05 17:30:13 -07:00
Fred Gylys-Colwell
65d52908af Expect failure on license load for expired LDL license
Merge from Widevine repo of http://go/wvgerrit/170970

RenewOnLicenseLoad.Case2 tests are failing because they
are expecting to load an expired license. However, the spec
says that the license should return KEY_EXPIRED. The test is
being updated.

Some other RenewOnLicenseLoad tests were failing because
they forgot to request the renewal.

Bug: 278750980
Test: Run tests on Luci
Change-Id: I7196db11fcf43859ba9310b87fd8ccb609e47039
2023-05-04 21:18:06 -07:00
Treehugger Robot
b474dc1702 Merge "Drop prebuilt files to android source tree." into udc-dev am: 651776f475
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22975314

Change-Id: I763141d0a9d370f08d68927f12cb7f6e9533287a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-03 19:41:08 +00:00
Treehugger Robot
f370c03a03 Merge "Widevine apex cleanup" into udc-dev am: 630fbd2251
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22938238

Change-Id: I658d9059d234d87ec9446b9ed9988ee3098cdcdb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-03 19:41:07 +00:00
Alex Dale
13d3ef216f Merge "Exclude the default CDM from metrics history." into udc-dev am: 2e84e8b5f7
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22957292

Change-Id: Id2d7277082d1c95195476ac7e23b0c1982f60100
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-03 19:39:49 +00:00
Treehugger Robot
651776f475 Merge "Drop prebuilt files to android source tree." into udc-dev 2023-05-03 19:34:04 +00:00
Treehugger Robot
630fbd2251 Merge "Widevine apex cleanup" into udc-dev 2023-05-03 19:34:04 +00:00
Alex Dale
2e84e8b5f7 Merge "Exclude the default CDM from metrics history." into udc-dev 2023-05-03 18:44:06 +00:00
Kyle Zhang
dc9fbae1b4 Widevine apex cleanup
1. Remove prerelease tag.
2. Add TARGET_BUILD_WIDEVINE_USE_PREBUILT to control building from source.
3. Unify config namespace to "widevine".

Bug: 251299786
Bug: 277764729
Change-Id: I2f19bcf8efd280a1a3aa86f595599d79e20b4ff4
2023-05-03 17:38:43 +00:00
Alex Dale
9e7df66c95 Merge "DRM Pluging uses CDM core's generic crypto API." into udc-dev am: 82709ebab0
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22956431

Change-Id: Ie93959d173cf8a78f041d9831bc77b61c7260c94
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-03 02:17:07 +00:00
Alex Dale
82709ebab0 Merge "DRM Pluging uses CDM core's generic crypto API." into udc-dev 2023-05-03 02:02:45 +00:00
Treehugger Robot
2691751782 Merge "Piped CdmEngine's generic crypto operations to Android CDM." into udc-dev am: c77b0a6bf2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22824317

Change-Id: If0e060c39e67234c8041c1b705bac047198eee6c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-03 01:59:29 +00:00
Treehugger Robot
c77b0a6bf2 Merge "Piped CdmEngine's generic crypto operations to Android CDM." into udc-dev 2023-05-03 01:16:23 +00:00
Rahul Frias
ca7dc18668 Merge "Add error details when offline license is not found" into udc-dev am: a4dc63581f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22808261

Change-Id: I21706f7eb5e00ddf407502200a8370841eafdf1c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-03 00:11:03 +00:00
Alex Dale
628d1ac38c DRM Pluging uses CDM core's generic crypto API.
[ Merge of http://go/wvgerrit/173170 ]

This CL updates the Widevine's Android DRM plugin to use the generic
crypto operations provided by CDM core rather than its own
implementation.

Bug: 274984456
Test: atest WvtsDeviceTestCases
Change-Id: I94e1c92c7da577aad5ec43bd3bf0bb380b607b80
2023-05-02 16:51:23 -07:00
Rahul Frias
a4dc63581f Merge "Add error details when offline license is not found" into udc-dev 2023-05-02 23:41:30 +00:00
Kyle Zhang
d3f2693e17 Drop prebuilt files to android source tree.
The following files have been updated as part of this change:

libwvdrmengine/apex/prebuilt/com.google.android.widevine.lazy.apks[standalones/standalone-arm64_v8a.apex]
package: name=com.google.android.widevine.lazy
versionCode=340613000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

libwvdrmengine/apex/prebuilt/com.google.android.widevine.lazy.apks[standalones/standalone-armeabi_v7a.apex]
package: name=com.google.android.widevine.lazy
versionCode=340613000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

libwvdrmengine/apex/prebuilt/com.google.android.widevine.lazy.apks[standalones/standalone-x86.apex]
package: name=com.google.android.widevine.lazy
versionCode=340613000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

libwvdrmengine/apex/prebuilt/com.google.android.widevine.lazy.apks[standalones/standalone-x86_64.apex]
package: name=com.google.android.widevine.lazy
versionCode=340613000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

libwvdrmengine/apex/prebuilt/com.google.android.widevine.nonupdatable.apks[standalones/standalone-arm64_v8a.apex]
package: name=com.google.android.widevine.nonupdatable
versionCode=340613000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

libwvdrmengine/apex/prebuilt/com.google.android.widevine.nonupdatable.apks[standalones/standalone-armeabi_v7a.apex]
package: name=com.google.android.widevine.nonupdatable
versionCode=340613000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

libwvdrmengine/apex/prebuilt/com.google.android.widevine.nonupdatable.apks[standalones/standalone-x86.apex]
package: name=com.google.android.widevine.nonupdatable
versionCode=340613000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

libwvdrmengine/apex/prebuilt/com.google.android.widevine.nonupdatable.apks[standalones/standalone-x86_64.apex]
package: name=com.google.android.widevine.nonupdatable
versionCode=340613000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

Built here: ab/10026699

The change is generated with prebuilt drop tool.

Bug: 251299786
Change-Id: I51b971baddaa43156a7aecbc6fc7ba37cf94e72a
2023-05-02 21:28:37 +00:00
Cong Lin
dae2668d93 Fix session id in dynamic adapter and re-generate L3 am: 9651c61e25
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22953666

Change-Id: I9b6a55f4ad156e341c7fa56be4d9ea8d521f6abc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-02 01:16:05 +00:00
Alex Dale
37f125a491 Piped CdmEngine's generic crypto operations to Android CDM.
[ Merge of http://go/wvgerrit/172010 ]

The CdmEngine provides an API for generic crypto operations that are
already used for the CE CDM.  This API is being exposed in the Android
CDM.  The parameter order of the Android CDM is modified to match the
existing generic crypto parameters used in the media DRM plugin.

Bug: 274984456
Bug: 29400687
Test: build x86-64 and Android
Change-Id: I3b286ebb011bd58754b7b8ea814ed46daf1f62f9
2023-05-01 15:50:39 -07:00
Alex Dale
da6437fe5e Exclude the default CDM from metrics history.
[ Merge of http://go/wvgerrit/173410 ]

The DRM plugin opens and closes many CDMs using the default identifier.
These metrics are not needed when checking the metric history and will
no longer be stored.  Default CDM metrics will continue to appear in
the live metrics list.

Bug: 239462891
Bug: 270166158
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Change-Id: I64662a44e9c084cc0f08c5a3f013dbf86374ac2d
2023-05-01 15:37:34 -07:00
Cong Lin
9651c61e25 Fix session id in dynamic adapter and re-generate L3
Merge of https://widevine-internal-review.googlesource.com/c/cdm/+/173330

Skipping files that are not in android from the CL above.

Original commit message:

Pass the real oemcrypto session id from `pair.session` instead of
`session`, since `session` can be changed when L1 and L3 are running in parallel and `session` in that case may not be the correct oemcrypto session id any more.

Also adding a few missing v18 L3 functions pointers to the dynamic
adapter.

Need to re-generate L3 since the L3 sources changed.

Test: L3 unit tests
Test: GTS dash policy tests and Dexter tests
Bug: 271290471
Bug: 279967915
Change-Id: Idc44d57ca38eb1de24c0038917800e37c25b9afc
2023-05-01 19:25:27 +00:00
Alex Dale
2747f5f997 Merge "Allow metrics history to outlive the Android CDM." into udc-dev am: 3e650cfd9f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22914977

Change-Id: Ib5fc267391fb3c512eb0df864116c33af44a30a4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-29 00:29:45 +00:00
Alex Dale
1ada326822 Merge "Include metric history in dumpsys." into udc-dev am: 7b32faf9f8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22794477

Change-Id: I1728dc0c1f5a267f585528b8696b0f9795827878
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-29 00:29:01 +00:00
Alex Dale
3e650cfd9f Merge "Allow metrics history to outlive the Android CDM." into udc-dev 2023-04-29 00:17:49 +00:00
Alex Dale
7b32faf9f8 Merge "Include metric history in dumpsys." into udc-dev 2023-04-29 00:15:57 +00:00
Alex Dale
600c37d848 Merge "Added metrics history for WV CDM for Android." into udc-dev am: b5a7412675
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22794476

Change-Id: I2301c09456e5ded57e7627dad111fc01b4296cb9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-29 00:09:23 +00:00
Alex Dale
b5a7412675 Merge "Added metrics history for WV CDM for Android." into udc-dev 2023-04-28 23:39:33 +00:00
Rahul Frias
9d1c9ca76a Add error details when offline license is not found
[ Merge of http://go/wvgerrit/171310 ]

Offline license not found errors are identified by CdmResponseEnum
347 (KEYSET_ID_NOT_FOUND_4). No addition file system information
is shared.

Checks for file existance use the stat command. The stat call can
return error codes from errno.h when the command fails.
These are now converted into sub error codes and returned along with
the offline license file not found error.

This also includes a change to log stat errors other than
ENOENT (no such file or directory) as a warning rather than verbose.

Bug: 276225520
Test: file_store_unittest, file_utils_unittest, GtsMediaTestCases
Change-Id: Ic09d036549582cd65783b49fa96ffefc4bf562c7
2023-04-28 02:38:35 -07:00
Alex Dale
4b267e37f9 Allow metrics history to outlive the Android CDM.
[ Merge of http://go/wvgerrit/172910 ]

The lifecycle of the Android CDM is controlled by Android's strong/
weak pointer functionality.  Unfortunately, it does not provide an
easily predictable point in the code where the CDM is to be deleted
along with the saved metrics.  In order to allow the CDM to keep a
list of metrics that are persistent with the life of the service, a
global thread safe queue is provided which is created when the first
CDM is created, but will out live the CDM.

The metrics will still be deleted when the DRM service is terminated.

Bug: 270166158
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Change-Id: Id98676d8b5278798b4de332cc272cd5b85024244
2023-04-27 15:31:39 -07:00