Bluedroid:免提声音解码源代码 [英] Bluedroid: handsfree sound decoding source code

查看:101
本文介绍了Bluedroid:免提声音解码源代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在cyanogenmod源代码中找到一个位置,在通话过程中从免提接收到的声音会被解码,然后再将其定向到电话线.我需要帮助.

I'm trying to find a place in cyanogenmod source code, where sound, received from handsfree during a call, is decoded before directing it to phone line. And I need help with it.

据我了解,SCO传输用于在HFP中承载语音数据,而SCO本身使用HCI.因此,我尝试将hci_recv_frame函数挂接到内核中的net/bluetooth_mgmt/hci_core.c中,但似乎在调用过程中未使用它.

As far, as I understand, SCO transport is used to carry voice data in HFP, and SCO itself uses HCI. So I tried to hook hci_recv_frame function in net/bluetooth_mgmt/hci_core.c in kernel, but it seems, it is not used during the call.

也欢迎链接到bluedroid体系结构概述.

Links to bluedroid architecture overviews are also appreciated.

我了解到,bluedroid在内核中没有任何组成部分.这就是为什么我的修改不起作用的原因.

I understood, that bluedroid has no parts in kernel. That's why my modification didn't work.

但是我仍然需要在源代码中找到一个位置(在用户空间库中?),在从Bt接收到发送到电话线之前可以拦截声音数据的地方.

But I still need to find a place in source code (in user space libraries ?), where sound data can be intercepted after receiving from Bt but before sending to telephone line.

推荐答案

据我所知,许多蓝牙控制器芯片中的SCO链接数据不是通过HCI接口传输的.这些芯片中的大多数都有专用的音频接口(例如PCM/I2S等),SCO数据将通过该接口发送到主机.然后,主机接收SCO音频数据,并在其音频子系统中对其进行处理.您可以参考与Android音频系统相关的源文件,例如音频管理器/音频策略/音频HAL.

As I know SCO link data is not transfered through HCI interface in many Bluetooth controller chips. Most of these chips has a dedicated audio interface (like PCM/I2S etc.) and SCO data will be send to host through the interface. Host then receive SCO audio data and process them in its audio subsystem. You can refer to Android audio system related source files like audio manager/audio policy/audio HAL.

这篇关于Bluedroid:免提声音解码源代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆