alsaloop: O que acontece em um buffer underrun?

2

Estou ajustando a latência da minha interface de som com

alsaloop -C hw:1,0 -P hw:1,0 -t $LATENCY_US

Quando defino $LATENCY_US para 30000, obtenho cerca de 20% do uso da CPU.

Eu posso reiniciar isso algumas vezes e fazer algum barulho, e depois de algumas tentativas de repente eu recebo 100% de uso da CPU (a maior parte do tempo gasto no kernel, vermelho em htop ). Reiniciar alsaloop várias vezes então não ajuda, até que eu "dê um tempo" antes de iniciá-lo novamente - então ele está de volta ao normal e eu posso repetir todo o procedimento. Note que alsaloop não fornece saída aqui.

Pergunta 1 : O que está acontecendo aqui?

Se eu definir $LATENCY_US como 4000, o uso da CPU aumentará em até 100% por segundo; então alsaloop reporta underrun for playback hw:1,0 , a CPU está baixa e permanece assim.

Pergunta 2 : o que acontece neste caso? Por que isso se acalma? Ainda está gravando com a latência que defini após o underrun ?

Obrigado.

    
por nh2 06.03.2013 / 16:56

0 respostas