Re-compilação do PulseAudio

2

Estou tendo um problema ao re-compilar o PulseAudio. Eu decidi recompilar para experimentar o cancelamento de eco WebRTC, bem como obter acesso ao equalizador.

Eu não estou fazendo nada maluco aqui, eu simplesmente fiz o seguinte:

apt-get source pulseaudio
sudo apt-get build-dep pulseaudio
sudo apt-get install libwebrtc-audio-processing-dev
cd pulsaudio-4.0
#Add --enable-webrtc-aec to debian/rules
dpkg-builpackage -uc -us -b -j8

Sou saudado pelo seguinte erro ao compilar:

In file included from /usr/include/x86_64-linux-gnu/sys/soundcard.h:1:0,
             from utils/padsp.c:35:
utils/padsp.c: In function 'dsp_ioctl':
utils/padsp.c:2280:14: error: 'SOUND_PCM_READ_RATE_is_obsolete' undeclared (first use in this function)
     case SOUND_PCM_READ_RATE:
          ^
utils/padsp.c:2280:14: note: each undeclared identifier is reported only once for each function it appears in
utils/padsp.c:2288:14: error: 'SOUND_PCM_READ_CHANNELS_is_obsolete' undeclared (first use in this function)
     case SOUND_PCM_READ_CHANNELS:
          ^
utils/padsp.c:2296:14: error: 'SOUND_PCM_READ_BITS_is_obsolete' undeclared (first use in this function)
     case SOUND_PCM_READ_BITS:
          ^
make[4]: *** [libpulsedsp_la-padsp.lo] Error 1

Mesmo removendo --enable-webrtc-aec das opções de construção, ele não será compilado corretamente. Alguém sabe o que está errado aqui?

Esclarecimento: Existe uma maneira de evitar esse problema de compilação usando --disable-oss-wrapper, no entanto, essa opção está habilitada (por padrão) no próprio pacote de origem. Se esta foi a fonte usada para construir o pacote, como ele foi construído em primeiro lugar? O que eu estou tentando descobrir é como configurar meu sistema para construir o pacote padrão (com funcionalidade adicional) e sem remover aspectos que devem estar disponíveis de acordo com a versão disponível nos repositórios. Este deve ser um processo trivial, mas por algum motivo não é.

EDIT: Então, eu pensei que talvez uma compilação 5.0 poderia me ajudar a evitar o problema, mas eu recebo o mesmo erro com o PulseAudio 5.0, como faço com o 4.0. O cabeçalho de sua reclamação é fornecido pelo libc6-dev. É possível que algo mudou na libc6 para trazer isso?

    
por Chuck R 07.05.2015 / 15:24

1 resposta

1

Parece que, desde a atualização para a pilha de ativação do UTS Utopic ou Vivid, esse problema foi resolvido. Decidi experimentá-lo novamente recentemente e não tive problemas para compilar, exceto problemas com trabalhos paralelos. Eu tive que remover oss4-dev , mas este foi um resquício da última vez que tentei, pois apt-file me disse que o oss4-dev forneceria uma versão do arquivo que estava reclamando.

Tudo dito, o cancelamento de eco WebRTC é escandalosamente bom. Eu testei o som de música nos alto-falantes e cancelei tudo. O resultado final foi um pouco lamacento, mas esse menor efeito colateral valeu a pena os benefícios. Meu pensamento: o cancelamento de eco WebRTC deve estar na linha principal.

    
por Chuck R 27.10.2015 / 14:56