Como obter o eco-cancel do PulseAudio para trabalhar com o Ofono

7

Estou tentando transformar um pequeno dispositivo incorporado em um receptor A2DP + HFP totalmente funcional.

Eu tenho tudo funcionando, mas estou realmente tendo problemas para descobrir como fazer com que o module-echo-cancel funcione com ofono

Aqui está o que eu tenho: - PulseAudio 7.1 - Ofono 1,15

Estou executando um sistema sem cabeçalho, então tudo é executado sob o usuário root.

Eu tentei carregar o module-echo-cancel do arquivo de configuração, e o módulo carrega, mas quando eu faço uma chamada, um novo coletor e uma nova fonte são adicionados e o module-echo-cancel não é automaticamente adicionado a eles.

Eu tentei carregar manualmente o module-echo-cancel depois que a chamada foi estabelecida e o novo coletor e fonte foram adicionados. Isso cria uma nova origem virtual e um coletor echo_cancelled, mas ela fica apenas ociosa e depois suspensa, o som ainda passa pelo coletor / origem criado inicialmente.

Listar os módulos depois que a conexão é estabelecida me mostra isso:

Module #21
        Name: module-loopback
        Argument: source=bluez_source.30_5A_3A_19_C0_5B.echo-cancel sink_dont_move=true source_output_properties=media.role=phone
        Usage counter: n/a
        Properties:
                module.author = "Pierre-Louis Bossart"
                module.description = "Loopback from source to sink"
                module.version = "7.1"

Module #22
        Name: module-loopback
        Argument: source=bluez_source.30_5A_3A_19_C0_5B source_dont_move=true sink_input_properties=media.role=phone
        Usage counter: n/a
        Properties:
                module.author = "Pierre-Louis Bossart"
                module.description = "Loopback from source to sink"
                module.version = "7.1"

Se eu tentar descarregar esses módulos, carregar o módulo de cancelamento de eco e carregar o módulo de loopback, o som será devolvido ao telefone em vez de ser ouvido nos alto-falantes dos dispositivos.

Eu tentei fazer, mas também não ajudou:

PULSE_PROP="filter.want=echo-cancel" ofonod

Alguma sugestão sobre como posso ativar o cancelamento de eco para o Ofono?

Obrigado.

    
por Emil Borconi 28.02.2017 / 14:25

1 resposta

3

Não tenho certeza se isso ajuda, mas se ninguém mais tiver uma ideia:

Eu tenho um Jolla Sailphone que é baseado em Linux, fazendo uso de Pulseaudio e Ofono.

A configuração de áudio é complexa e eu não a entendo completamente. Entre outras coisas, ele usa module-intended-roles para atribuir propriedades de função (por exemplo, telefone, música), tabelas de roteamento em /etc/pulse e provavelmente outras coisas que ainda não descobri.

No final de /etc/pulse/default.pa , existem as seguintes linhas:

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply

então presumo que esses módulos ativem o cancelamento de eco. Dar uma olhada na fonte desses módulos pode dar algumas dicas de uso adequado.

    
por 03.03.2017 / 09:01

Tags