当前位置: 首页 > news >正文

深入解析:Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项

Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项

一、前言

Android EDLA最近测试爆一大堆 CtsMediaXXXCases 的报错,刚开始不确定是哪里修改导致的问题。

一些列Media模块的Failed项报错如下:

CtsMediaRecorderTestCases
CtsMediaAudioTestCases
CtsMediaV2TestCases
CtsMediaRecorderTestCases
CtsMediaMiscTestCases
CtsMediaEncoderTestCases
CtsMediaDecoderTestCases
CtsMediaCodecTestCases
CtsMediaEncoderTestCases
MctsMediaMiscTestCases
MctsMediaCodecTestCases
MctsMediaCodecTestCases

上面多个Media的模块,后面的MctsMediaXXX其实CtsMediaXXX测试内容项是一样的;Mcts表示企业设备;

后面多看一些日志和回退一些对策确认是Media编解码修改导致。

本文主要一些分析参考,有遇到类似的可以看看。

二、分析总结和修改

1、报错查看分析

(1)编解码修改报错

该报错的Failed项主要如下:

CtsMediaRecorderTestCases:

在这里插入图片描述

CtsMediaMiscTestCases:

在这里插入图片描述

CtsMediaEncoderTestCases:

在这里插入图片描述

CtsMediaDecoderTestCases:

在这里插入图片描述

CtsMediaAudioTestCases:

在这里插入图片描述

CtsMediaV2TestCases:

在这里插入图片描述

上面只能看出一些大概测试意图,看不出具体报错信息,

如果要看具体报错堆栈,需要查看具体报告或者重测该项查看result中的html文件报告;

比如:

在这里插入图片描述

能看到更多一点堆栈信息,再看logcat日志估计能看到更多相关信息。

上面的MediaXXX报错可能是和修改如下代码会导致:

//这个是AML方案的
vendor/amlogic/common/codec2/vendorcomponents/videoencoder/C2VencComp.cpp
vendor/amlogic/common/codec2/vendorcomponents/videoencoder/C2VencIntfImpl.cpp
修改一下参数值比如:
C2Color::MATRIX_UNSPECIFIED 变成 C2Color::MATRIX_BT709 或者 C2Color::MATRIX_BT601

这个主要是修改4K编解码参数或者优化视频转码与优化编码性能会涉及到的代码;

比如:安兔兔跑分视频转码失败,需要进行优化系统编解码,就需要修改上面的代码。

(2)虚拟屏修改报错

其实除了vendor目录,在framework目录下也有很多和视频编解码相关的代码:

release/frameworks/native/services$ ls
audiomanager  automotive  displayservice  inputflinger  surfaceflinger
release/frameworks/native/services$

上面的代码实现都是c/cpp代码.

比如修改:录屏问题,信源黑屏、虚拟屏等问题就需要适配优化一下上面目录的某些文件;

比如修改Android原生虚拟屏流程:

frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp一些关于:enableHalVirtualDisplays(false);的流程

可能会造成如下Failed:

CtsMediaCodecTestCases:

在这里插入图片描述

上面这个报错Failed编解码修改也会爆,可能其他修改也会影响到原生流程。

···

MctsMediaCodecTestCases:

在这里插入图片描述

CtsMediaHostTestCases:

在这里插入图片描述

CtsMediaProjectionSDK33TestCases:

在这里插入图片描述

上面几个报错看报错项 具体测试名称,就知道和虚拟屏Virtual相关。

2、解决

主要就是找到导致Failed相关的代码;

解决方法有如下几种:

(1)如果不是必要就该功能就去除功能;
(2)添加prop属性,测试某些项的时候,打开开关,跳过相关功能的逻辑代码;
(3)监听cts测试模块的应用安装,安装应用的时候,设置prop属性,跳过相关功能的逻辑代码;
比如:
测试CtsMediaCodecTestCases和MctsMediaCodecTestCases的模块应用包名是:android.media.codec.cts;
测试CtsMediaV2TestCases的模块应用包名是:android.mediav2.cts。

三、其他

1、小结

其实只要影响到原生的流程就可能会爆Failed项错误;

修改如下代码可能会报很多Failed项错误:

release/frameworks/native/services$ ls
audiomanager  automotive  displayservice  inputflinger  surfaceflinger
release/frameworks/native/services$
//这个是AML方案的
vendor/amlogic/common/codec2/vendorcomponents/videoencoder/C2VencComp.cpp
vendor/amlogic/common/codec2/vendorcomponents/videoencoder/C2VencIntfImpl.cpp

解决方法就是:去除该功能或者添加prop属性测试的时候跳过某项功能逻辑。

2、Android16 EDLA 认证测试安装和卸载应用的监听设置

Android EDLA认证项测试的时候,会出现自己修改的东西和认证项冲突。

这时候就要设置一个标识,如果是进行EDLA认证项的时候,就把自己的修改暂时去除。

虽然是逃避规则的手段,但是为了过认证也是没有办法,很多东西是不能两全的。

测试EDLA认证项的时候,会安装一些列应用app进行测试。

https://blog.csdn.net/wenzhi20102321/article/details/155283048

http://www.jsqmd.com/news/451709/

相关文章:

  • GME-Qwen2-VL-2B快速部署:基于Dify打造零代码多模态AI应用
  • PostgreSQL的备份方式
  • 如何突破网盘下载限制?全平台支持的直链解析解决方案
  • 制作PPT的图标icon网站
  • 外勤轨迹软件哪个好,选型建议及指南 - 数智AI前沿
  • ExifToolGui高效管理指南:从入门到精通的完整方案
  • 华为OD机考双机位C卷 - 优雅数组 (Java Python JS GO C++ C)
  • HeyGem数字人视频生成实战:用同一段音频批量生成多个视频
  • 利用快马AI快速构建深圳企业网络自动化运维(NAP)脚本原型
  • 通用日志组件:mzt-biz-log
  • 教学环境优化与学习效率工具:JiYuTrainer技术指南
  • 符号执行虚假控制流去混淆
  • 高效下载多平台整合:开源工具网盘直链下载助手全面指南
  • 照片元数据管理与整理完全指南:使用ExifToolGui提升工作效率
  • 3步打造无Steam局域网游戏环境:SteamEmulator完全指南
  • CSDN博客内容本地化工具:知识留存与管理完整指南
  • 解锁全速下载体验:Online-disk-direct-link-download-assistant重构网盘资源获取方式
  • Qwen-Image-2512-Pixel-Art-LoRA企业应用案例:中小游戏工作室像素资产管线搭建实录
  • 融合语言与智能:天津外国语大学与文心大模型的务实探索
  • YOLOv11模块拆解:从C2PSA注意力机制到深度可分离卷积的优化奥秘
  • 如何突破网盘限速?3步实现全速下载的秘密武器
  • 解锁3大学习自由:极域环境高效学习环境优化指南
  • CSDN博客下载器使用指南
  • BGE-Large-Zh部署教程:Docker镜像一键拉取+本地Web界面快速访问
  • QT5实战:手把手教你用MQTT实现嵌入式设备远程通信(附完整代码)
  • ollama运行QwQ-32B保姆级教学:模型量化精度与速度平衡策略
  • GLM-OCR在运维自动化中的应用:日志截图与配置文件的智能解析
  • 双目立体视觉在自动驾驶中的应用:如何通过视差图实现精准测距
  • 通义千问1.5-1.8B-Chat-GPTQ-Int4微信小程序开发集成:打造个人智能助理
  • 春联生成模型-中文-base入门指南:如何选择关键词让AI对联更出彩