简体   繁体   English

Bluedroid:免提声音解码源代码

[英]Bluedroid: handsfree sound decoding source code

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. 我试图在cyanogenmod源代码中找到一个地方,在通话过程中从免提接收到的声音会被解码,然后再将其定向到电话线路。 And I need help with it. 我需要帮助。

As far, as I understand, SCO transport is used to carry voice data in HFP, and SCO itself uses HCI. 据我了解,SCO传输用于在HFP中承载语音数据,而SCO本身使用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. 因此,我尝试将hci_recv_frame函数挂接到内核中的net / bluetooth_mgmt / hci_core.c中,但似乎在调用期间未使用它。

Links to bluedroid architecture overviews are also appreciated. 还链接到bluedroid体系结构概述。

UPDATE 更新

I understood, that bluedroid has no parts in kernel. 我了解到,bluedroid在内核中没有任何组成部分。 That's why my modification didn't work. 这就是为什么我的修改不起作用的原因。

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. 但是我仍然需要在源代码中找到一个位置(在用户空间库中),在从Bt接收到发送到电话线之前可以拦截声音数据的位置。

As I know SCO link data is not transfered through HCI interface in many Bluetooth controller chips. 据我所知,许多蓝牙控制器芯片中的SCO链接数据不是通过HCI接口传输的。 Most of these chips has a dedicated audio interface (like PCM/I2S etc.) and SCO data will be send to host through the interface. 这些芯片中的大多数都有专用的音频接口(例如PCM / I2S等),SCO数据将通过该接口发送到主机。 Host then receive SCO audio data and process them in its audio subsystem. 然后,主机接收SCO音频数据并在其音频子系统中对其进行处理。 You can refer to Android audio system related source files like audio manager/audio policy/audio HAL. 您可以参考与Android音频系统相关的源文件,例如音频管理器/音频策略/音频HAL。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM