IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> amlogic s922 android 9.0音频 由rt5651更换es8316出现的奇怪bug -> 正文阅读

[移动开发]amlogic s922 android 9.0音频 由rt5651更换es8316出现的奇怪bug

由于缺料,codec由rt5651 更换为es8316,本以为是青铜,却发现是王者,最后竟然是驱动一个简单的符号导致。写到此时好像以前有遇到过忘记了,特此记录一下,百度了下amlogic的东西非常少。

常规步骤:

1 驱动放进?common\sound\soc\codecs\amlogic

2 更改?common\sound\soc\codecs\amlogic 下Makefile??Kconfig

3?meson64_a32_defconfig写好

4 dts写好:

接下来就是编译烧录,但是发现没有声音,

查看card :

# cat proc/asound/pcm

似乎一切正常?

再来tinyplay一下 tingplay xxx.wav -D 0 -d 1 也就是调用 AMLAUGESOUND 下 的pcm1p 设备。因为AMLAUGESOUND 为0.

此时耳机有声音输出,说明用命令直接打开card 是可以正常播放,那硬件和tdm 都是正常的。现在怀疑的是上层没有open这个card。

logcat看起:

满屏的 pcm_handle is null 这个肯定是有问题的,

查找发现hardware\amlogic\audio\audio_hal\audio_port.c 下:

为啥port->pcm_handle = null ?

查找pcm_handle 发现?static ssize_t output_port_start(struct output_port *port) 中??port->pcm_handle = pcm;

再检查一下这个函数为啥没跑到赋值的地方,下面发现是device 值一直是-1 ,问题就出现device 没有获取到

查找有调用到?->start 的地方发现

amlAudioMixer.c 中

再继续找mixer_output_startup 顺藤摸瓜发现在static int initSubMixngOutput 中:

再接着看alsa_device_update_pcm_index :

查看?alsa_device_parser_pcm_string? 发现这里能看到对应到DTS 里面的字符配置了,例如

发现这里有相关打印

这里截取部分log 红线部分为可疑之处。

看到这里发现HiFi的字样,灵感一现,赶紧对比下2个dai_name?

这才发现是空格造成的dai_name识别错误。修改为?.name = "ES8316-HiFi", 工作正常。

以上纯手打,希望能帮助到你。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-07-07 21:17:37  更:2021-07-07 21:18:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 10:23:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码