RK3576 android14 GMS WvtsDeviceTestCases 测试fail

平台:RK3576,android14

第一次测试结果:

arm64-v8a WvtsDeviceTestCases
TestResultDetails
com.google.android.wvts.MediaDrmTests#testAppIdAndOrigin
fail
android.media.UnsupportedSchemeException: Failed to instantiate drm object: NO_INIT
com.google.android.wvts.MediaDrmTests#testHwSecureDecoder
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmTests#testL3SystemId
fail
android.media.UnsupportedSchemeException: Failed to instantiate drm object: NO_INIT
com.google.android.wvts.MediaDrmTests#testWidevineBasicOperation
fail
java.lang.AssertionError: isCryptoSchemeSupported must report true for Widevine
com.google.android.wvts.MediaDrmParameterizedTests#testCertificateMissingErrorCode[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmParameterizedTests#testDecryptHashError[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmParameterizedTests#testDrmPropertyStrings[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmParameterizedTests#testInvalidDrmDeviceCertResponse[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmParameterizedTests#testKcbOemCryptoVersion[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmParameterizedTests#testLicenseClientInfo[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmParameterizedTests#testLicenseClientInfoValues[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmParameterizedTests#testLicenseErrorCodeLicensePolicy[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails
com.google.android.wvts.MediaDrmParameterizedTests#testLicenseErrorCodes[L1]
fail
java.lang.IllegalStateException: Widevine MediaDrm instantiation fails

可以看报告,这是 widevine 需要更换。

RK3326/RK3399/RK356X/RK3562/RK3576/RK3588 都支持Widevine L1。平板设备一般L3即可,如果需要使用L1需要联系RK获取L1补丁。

我们使用得是L3。

BOARD_WIDEVINE_OEMCRYPTO_LEVEL := 3

 我们从测试机构处获得L3的widevine,直接将L3的widevine放到SDK的vendor/widevine目录下即可。

android14 确认widevine是否集成

console:/ $ mount | grep widevine
/dev/block/loop6 on /apex/com.google.android.widevine@341310000 type ext4
(ro,dirsync,seclabel,nodev,noatime)
/dev/block/loop6 on /apex/com.google.android.widevine type ext4
(ro,dirsync,seclabel,nodev,noatime

集成L3 的widevine 之后,重新测试 WvtsDeviceTestCases 还有如下几个fail项:

TestResultDetails
com.google.android.wvts.WidevineYouTubePerformanceTests#testL3Cenc1080P60UsingExo2Extractor
fail
java.lang.Exception: Failed components: < Performance Test: Device failed to meet expectations. The mean weighted interframe time was 40.103987 where the expected value was 16.666667. Some more useful information: mean=40.103987 variance=5041.669504 samples=1856 >

 

TestResultDetails
com.google.android.wvts.WidevineYouTubePerformanceTests#testL3Cenc1080P60
fail
java.lang.Exception: Failed components: < Performance Test: Device failed to meet expectations. The mean weighted interframe time was 29.251080 where the expected value was 16.666667. Some more useful information: mean=29.251080 variance=2649.083872 samples=1852 >

 

TestResultDetails
com.google.android.wvts.WidevineYouTubePerformanceTests#testL3Cenc240P60UsingExo2Extractor
fail
java.lang.Exception: Failed components: < Performance Test: Device failed to meet expectations. The mean weighted interframe time was 24.874461 where the expected value was 16.666667. Some more useful information: mean=24.874461 variance=1595.429515 samples=1856 >

 

解决方法:

diff --git a/device/rockchip/rk3576/package_performance.xml b/device/rockchip/rk3576/package_performance.xml
index 5b763ed21b0..6b603aff47b 100755
--- a/device/rockchip/rk3576/package_performance.xml
+++ b/device/rockchip/rk3576/package_performance.xml
@@ -3,4 +3,5 @@
 <app package="com.antutu.ABenchMark" mode="1"/>
 <app package="com.antutu.benchmark.full" mode="1"/>
 <app package="com.android.server.cts.device.graphicsstats" mode="1"/>
+<app package="com.google.android.wvts" mode="1"/>
 </performance-package>
diff --git a/frameworks/native/services/surfaceflinger/Scheduler/src/FrameTargeter.cpp b/frameworks/native/services/surfaceflinger/Scheduler/src/FrameTargeter.cpp
index b60aec49f61..b26e6c33e73 100644
--- a/frameworks/native/services/surfaceflinger/Scheduler/src/FrameTargeter.cpp
+++ b/frameworks/native/services/surfaceflinger/Scheduler/src/FrameTargeter.cpp
@@ -117,6 +117,7 @@ void FrameTargeter::beginFrame(const BeginFrameArgs& args, const IVsyncSource& v
             mFramePending = false;
         }
     }
+       mFramePending = false;
     //------------
 
     // A frame is missed if the prior frame is still pending. If no longer pending, then we still

 

posted @ 2025-06-25 14:04  simple雨  阅读(187)  评论(0)    收藏  举报