Como dois aplicativos podem ler a mesma entrada de som (digital) no Linux / ALSA?

3

Eu tenho uma placa de som com uma porta de entrada AES / EBU que eu quero acessar com dois aplicativos simultaneamente. Eu quero gravar a entrada para um arquivo WAV linear em tempo real e também transmiti-lo através do IceCast. Se eu ingenuamente tentar acessar o mesmo dispositivo de entrada com os dois aplicativos, um me diz que não pode acessar o dispositivo. Como posso configurar o ALSA para conseguir isso? Ou eu tenho que retransmiti-lo através de algum programa externo, introduzindo atrasos?

    
por haroba 19.04.2015 / 12:23

1 resposta

3

Você pode usar o plug-in dsnoop para copiar os dados de amostra para vários dispositivos de captura virtual.

Coloque algo assim em ~/.asoundrc ou /etc/asound.conf e use snooped_digital como nome de dispositivo em ambos os aplicativos:

pcm.snooped_digital {
    type dsnoop
    slave {
        pcm "hw:2,1"   # the actual device
        channels 2
        rate 48000
    }
}
    
por 19.04.2015 / 14:57