关于 Android 8.0 gts 的 widevine 类问题 GtsMediaTestCases / GtsExoPlayerTestCases

本文详细探讨了在Android 8.0上进行GTS测试时,遇到的Widevine VP9解码性能问题。测试集中在VtsTrebleVintfTest和GtsMediaTestCases/GtsExoPlayerTestCases,尤其是针对VP9的测试失败。问题源于VP9软解码在低端设备上的性能不足,导致解码延迟和丢帧。通过调整媒体编码器配置和关闭温控服务,实现了GTS测试的通过。
摘要由CSDN通过智能技术生成

写完回开头补一句:  为什么忽然编辑器改版了?  是不是受了微信公众号的启发...   

仿佛一夜之间,公司的代销项目忽然有海外客户了; 现在的版本,测试那边的内测都还没收敛, 可产品却给 CTS/VTS/GTS 定了最高优先级;
想想之前在前东家, CTS 差不多是一部血泪史, 过 CTS 的 image 和最终发给客户量产的 image 天差地别;  到了现在这边, 之前项目也拍脑袋要上 CTS, 全组人忙的两个月不可开交, 然后突然就没了下文...  只有我,为了预研
widevine, 继续折腾了一个月 GTS ,随后 19BIG 召开, 我这边 GTS 测不下去了... 于是得出重要结论之一是 VPN 一定要稳定... // MAGIC1.  DO NOT TOUCH http://blog.csdn.net/leonxu_sjtu

现在不同了, 产品说 CTS/VTS/GTS 还有 CTS-gsi 都要上, 你看第三世界的客户正向我们招手~

Widevine 这里就不细说了, 等手上的资料不再敏感的时候, 专门写一下 DRM 相关;
其实到了 Android 8.0, 首先要测的是 VTS:  比如 VtsTrebleVintfTest 
如果 vendor 分区的 manifest.xml 添加了:


    <hal format="hidl">
        <name>android.hardware.drm</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>1.0</version>
        <interface>
            <name>ICryptoFactory</name>
            <instance>widevine</instance>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IDrmFactory</name>
            <instance>widevine</instance>
            <instance>default</instance>
        </interface>
    </hal>

那就意味着 widevine 要集成到系统中, 当然你也可以直接删掉这两段, 但为了 GTS, widevine 还是要集成进去;  只是, 集成之后 VTS 很快就 PASS 了, GTS 却尼玛一脸坎坷: 
主要是两个case :  GtsMediaTestCases / GtsExoPlayerTestCases


run gts -m GtsMediaTestCases -t

com.google.android.media.gts.WidevineVP9WebMPlaybackTests#testVP9WebMCencSubSampleL3With720P30fps --ignore-business-logic-failure
run gts -m GtsExoPlayerTestCases -t com.google.android.exoplayer.gts.DashTest#testWidevineVp9Fixed360p --ignore-business-logic-failure

GtsMediaTestCases 其实有 15 个子case,  failed 的 testVP9WebMCencSubSampleL3With720P30fps 报错如下:


07-10 12:23:15.652 3602 3707 I TestRunner: failed:

testVP9WebMCencSubSampleL3With720P30fps(com.google.android.media.gts.WidevineVP9WebMPlaybackTests)
07-10 12:23:15.652 3602 3707 I TestRunner: ----- begin exception -----
07-10 12:23:15.656 3602 3707 I TestRunner: java.lang.Exception: Failed components: < Video Reached Seconds >

GtsExoPlayerTestCases  其实有 33 个子case, failed 的 testWidevineVp9Fixed360p 报错如下:


07-18 09:27:09 D/ModuleListener:

ModuleListener.testFailed(com.google.android.exoplayer.gts.DashTest#testWidevineVp9Fixed360p, junit.framework.AssertionFailedError: Codec(DashTest:Video) was late decoding:
1558 buffers. Limit: 39.
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.exoplayer.gts.util.DecoderCountersUtil.assertDroppedOutputBufferLimit(DecoderCountersUtil.java:59)


多测了几遍, 发现 failed 的都是 Vp9 case ~ // MAGIC2. DO NOT TOUCH http://blog.csdn.net/leonxu_sjtu
Vp9 有啥特殊呢?  正好在我们用的这个平台, Vp9 没有硬件 VPU 支持 (vp9 是 google 刚推没几年, 所以各平台

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值