guest@amper.me /blog $

Проблема с заикающимся звуком при SIP звонках на N900

В связи с началом активного пользования мной SIP-телефонии на моем N900 обнаружилась проблема - заикающийся звук при разговоре. Кстати, со скайпом та же фигня. Почему-то при наличии аппаратного кодека G.711 и G.729, telepathy в телефоне использует софтварное сжатие...
Заставить использовать другие кодеки без влезания в исходиники не представляется возможным (по крайней мере, я не нашел способа), но можно немного подшаманить, чтобы процессора хватало для сжатия.

Немного почитав интернет, обнаружил, что на подобную проблему жалуются, в основном, пользователи kernel-power и batterypatch. Начал ковырять конфиги патча.

Сигнал для уменьшения частоты процессора при блокировке экрана (в том числе во время разговора) приходит через D-Bus. В случае, если идет телефонный звонок - есть условие, при котором загружается профиль overclock-while-in-call. Но это условие не срабатывает во время разговора по скайпу или SIP. Что ж, очевидный выход - изменить условие.

Было:
Код sh:
# ...
if [ "`dbus-send --system --print-reply --dest=com.nokia.csd.Call /com/nokia/csd/call/1 сom.nokia.csd.Call.Instance.GetStatus  | tail -1 | sed 's/.* //'`" != "0" ]; then
...

Через D-Bus получить статус активности SIP-соединения не получается. Но можно отследить разговор по наличию процесса telepathy-stream-engine. Что мы и делаем:

Код sh:
# ...
if [ "`dbus-send --system --print-reply --dest=com.nokia.csd.Call /com/nokia/csd/call/1 com.nokia.csd.Call.Instance.GetStatus  | tail -1 | sed 's/.* //'`" != "0" ] || [ "`ps ax | grep telepathy-stream-engine | grep -v grep`" != "" ]; then
...

Подобным образом изменяются все 6 скриптов:
/opt/batterypatch/dbus-scripts/cpu_normal
/opt/batterypatch/dbus-scripts/cpu_normal_non_speedpatch
/opt/batterypatch/dbus-scripts/cpu_normal_speedpatch
/opt/batterypatch/dbus-scripts/cpu_sleep
/opt/batterypatch/dbus-scripts/cpu_sleep_non_speedpatch
/opt/batterypatch/dbus-scripts/cpu_sleep_speedpatch

Итог сего действа: разговаривать можно спокойно, без заиканий.


© Amper, 2011-2018
Время генерации страницы: 0.0288с. SQL запросов: 2