Я пытаюсь изменить исходный код Android, чтобы получить кодек голосовой речи, который согласовывается при каждом вызове GSM.
Вначале я погрузился в исходные файлы, такие как AudioPolicyManager и некоторые другие файлы soc ядра Linux. Когда вы записываете дополнительные журналы в эти файлы, вы получаете, что динамик и микрофон всегда настроены на одну и ту же частоту (максимум, я думаю, 48000 Гц в моем случае с динамиками). Я почти уверен, что голос не передается с такой частотой, ядро телефонии согласовывает метод сжатия голоса, прежде чем протолкнуть его в канал. Я также безуспешно пытался восстановить его с помощью AT-команд, даже когда есть некоторые проприетарные команды, у которых нет doc.
Наконец у меня был краткий обзор журнала радио RIL (logcat -b radio) и я нашел эту строку:
I/RILQ ( 331): (0/331): RIL[0][event] qcril_qmi_voice_send_unsol_voice_speech_codec_info_htc: android_call_id = 1, codec = 7
Я думаю, что это позволит мне убедиться, какой речевой кодек согласовывается перед установкой вызова GSM, однако этот исходный код не открыт. Это скомпилированная библиотека *.so (./vendor/htc/m8/proprietary/blobs/gsm/vendor/lib/libril-qc-qmi-1.so)
Я также разобрал (objdump), чтобы узнать, какой голосовой кодек соответствует 7, но я думаю, что потрачу время на поиск этой сборки.
Итак, мой вопрос: кто-нибудь знает, есть ли бесплатный libril.c с открытым исходным кодом, чтобы дать мне представление о том, какие речевые коды соответствуют этим целочисленным значениям? На данный момент мой оператор телефонии заявляет, что поддерживает AMR-WB в 3g звонках. Если я найду какой-нибудь исходный файл, в котором кодек 7 соответствует AMR-WB, то буду почти уверен, что мой оператор телефонии прав.
Примечание. Я не ищу HD-Voice over 4G, я уже знаю, как это проверить.
заранее спасибо