A captura de áudio do Linux a uma taxa de 20 ms é instável

1

Atualmente, estou trabalhando em um servidor de vídeo embutido. Quando implantei o aplicativo nas placas que estamos planejando usar para produção, percebi que o áudio era barulhento.

Eu descobri que a captura de áudio deveria estar capturando 640 bytes de dados (16 khz, 1 canal, com 16 bits de largura @ 20 ms por buffer). No entanto, independentemente de como eu pego os dados, ele sempre retorna 682 bytes, o que é, supondo que eu esteja atingindo a taxa de amostragem, 21,3 ms de dados.

Eu pensei, ok, talvez isso seja apenas um problema, então eu tentei pulsar ... mesmo problema. Então eu tentei usar PTLib pegando direto da placa de som ... mesmo problema. Eu sei que o código está certo (daí a razão pela qual a questão está aqui e não no estouro de pilha). O que devo procurar para resolver este problema?

Devem ser exatamente 20 ms de dados para eu passar para o fluxo de rtp para os propósitos do buffer de jitter. Alguma idéia?

A placa de som é um codec de áudio HD Realtek ALC888 integrado de 6 canais.

    
por Jonathan Henson 29.09.2011 / 22:04

1 resposta

1

Soa como um problema de hardware / chip para mim. Não seria a primeira vez que o hardware não segue uma folha de dados. Eu verificaria com os codificadores do driver.

    
por 29.09.2011 / 23:17