echo-cancel não funciona após a reconstrução do PulseAudio

1

Eu trabalho com o Ubuntu 14.04.5 e enfrentei problemas com a reconstrução do PulseAudio a partir do código-fonte. O PulseAudio aqui é 4.0-0ubuntu11.1, mas eu preciso reconstruí-lo e incluir o patch link que melhora echo-cancel módulo.

Eu tentei reconstruir o PA seguindo as instruções da documentação da comunidade do Ubuntu link . Ou seja apt-get build-dep ... , apt-get source ... , patch ... , debchange -i , dpkg-source --commit , debuild -us -uc -i -I . Construído foi bem sucedido, apenas um erro - "pulseaudio: postrm-não-chamar-updaterc.d-para-init.d-script etc / init.d / pulseaudio", mas acho que deve ser ignorado. Então eu instalei pacotes construídos usando debi , tentei iniciar o PA e obter o seguinte erro:

$ pulseaudio -vvv
<...>
D: [pulseaudio] module-systemd-login.c: Added new session c2
I: [pulseaudio] module.c: Loaded "module-systemd-login" (index: #14; argument: "").
I: [pulseaudio] module.c: Loaded "module-position-event-sounds" (index: #15; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-heuristics" (index: #16; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-apply" (index: #17; argument: "").
Inconsistency detected by ld.so: dl-open.c: 689: _dl_open: Assertion '_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!

O momento em que o lançamento falha é exato no momento em que o módulo echo-cancel deve iniciar. Além disso, mesmo se eu reconstruir PA sem quaisquer alterações significativas - recebo o mesmo erro. Se eu usar o PA do repositório oficial do Ubuntu - ele inicia sem nenhum erro e inicia o módulo echo-cancel com êxito.

É assim que eu ative echo-cancel , essas linhas adicionadas ao final de /etc/pulse/default.pa :

load-module module-echo-cancel source_name=noechosource sink_name=noechosink
set-default-source noechosource
set-default-sink noechosink

Alguém poderia sugerir como posso resolver este problema com a reconstrução do PA? Talvez a maneira como eu reconstruo o pacote esteja errada em algum momento. Como eu disse, o problema não é mesmo com a reconstrução do PA modificado, mas com a simples reconstrução sem qualquer alteração, parece que o problema está no próprio processo de construção.

    
por Dmitriy Vinokurov 30.01.2017 / 06:19

1 resposta

0

Descobri, pelo menos no principal. É exatamente o problema de construção do deb, não relacionado ao próprio PulseAudio. A falha de declaração RT_CONSISTENT foi causada pela falta de dependência de module-echo-cancel.so . ldd neste módulo mostra libwebrtc-util.so => not found . De acordo com debuild log tal arquivo foi realmente construído, mas não foi empacotado para deb e por isso não foi instalado para o sistema causa padrão trusty pacote PA é construído sem suporte de WebRTC AEC (e é por isso que não precisa e don é possível instalar libwebrtc-util.so ). Mas eu preciso exatamente desse tipo de AEC e é por isso que instalei o pacote libwebrtc-audio-processing-dev antes de reconstruir o PA. Essas bibliotecas do WebRTC foram detectadas pelo script de configuração do PA e o PA foi criado com o suporte do WebRTC, mas durante as etapas pós-compiladas nem todos os arquivos necessários foram empacotados no deb. Agora, como uma medida temporária, simplesmente movo manualmente libwebrtc-util.so para o local desejado. Mais tarde, vou descobrir como consertar os scripts de construção para lidar com este caso corretamente.

    
por Dmitriy Vinokurov 30.01.2017 / 13:20