O que são XRuns?

4

Eu li sobre eles várias vezes e os encontrei quando defini o tamanho do buffer muito baixo em jack ou encerrando aplicativos de áudio. Ninguém nunca explica o que são os XRuns. Alguém pode esclarecer e dar uma definição para o XRun? O que é e talvez como são causados?

Aqui está um exemplo para um erro XRun:

Mon Mar 16 12:32:23 2015: ERROR: JackEngine::XRun: client = <AUDIO APPLICATION> was not finished, state = Running
Mon Mar 16 12:32:23 2015: ERROR: JackAudioDriver::ProcessGraphAsyncMaster: Process error

Observe que substituí o aplicativo por <AUDIO APPLICATION>

    
por TomTom 29.04.2015 / 22:48

2 respostas

3

Aparentemente (thread de fóruns do Ubuntu) ,

it's a buffer under-or-overrun, X stands for under or over. It's a sign that your system did not process some buffers in time, so some data is missed. It is particularly true when you run at very low buffer size where the sound card should process incoming buffers very fast (overrun). Some chips cannot cope with small buffer sizes, so you have to increase the buffer length to ease the work done by the sound chip.

    
por 25.08.2015 / 23:32
2

Para adicionar alguma documentação oficial do Wiki Alsa :

An "xrun" can be either a buffer underrun or a buffer overrun. In both cases an audio app was either not fast enough to deliver data to the ALSA audio buffer or not fast enough to process data from the ALSA audio buffer. Usually xruns are audible as crackles or pops.

Various kernel patches and strategies are available to minimise xruns under Jack, eg. kernel pre-emption and the Realtime Linux Security Module. At the time of writing (July 2004) these strategies are in a bit of a state of flux - see http://jackit.sourceforge.net/docs/faq.php#a5 for the latest.

Recent versions of Alsa provide a means of logging and debugging xruns through the proc tree.

O link para a depuração de xruns está quebrado, mas eu encontrei algumas informações aqui .

    
por 08.01.2017 / 12:07