Se a implementação do seu controle do mixer de captura faz a coisa errada, e se você não fizer nem mesmo a captura, então você não deve ter os controles do mixer de captura em primeiro lugar.
Eu escrevi drivers alsa para mycard, referindo drivers de som dummy.c. Meu cartão não suporta a funcionalidade de captura. Defini operações de reprodução, mas não operações de captura para evitar o suporte à captura. Meu driver de cartão reside junto com outros dispositivos de áudio USB adicionais.
Eu tenho um problema com o controle de volume principal. Quando eu uso o amixer para controlar o volume principal, ele se aplica tanto para fluxos de captura quanto de captura. Para capturar a função amixer, snd_mixer_selem_has_capture_channel (elem, chn) retorna true para os canais esquerdo e direito. Devido a este volume de reprodução, as operações put também são chamadas para captura. Como a mesma operação de controle de volume é chamada para reprodução e captura, o controle de volume é aplicado duas vezes (incrementos / decrementos).
Eu modifiquei o script snddevice para não criar dispositivos de captura e garantir o mesmo @ / dev / snd.
Preciso de ajuda para evitar / desativar esse suporte a captura, para que snd_mixer_selem_has_capture_channel (elem, chn) retorne false para os canais de reprodução de cartão.
Se a implementação do seu controle do mixer de captura faz a coisa errada, e se você não fizer nem mesmo a captura, então você não deve ter os controles do mixer de captura em primeiro lugar.