私はそれらについて何度か読んだことがありますが、jack
でバッファサイズを低く設定しすぎたり、オーディオアプリケーションを終了したりしたときに、自分で遭遇しました。 XRunが何であるかを説明する人はいません。誰かがXRunを明確にして定義を与えることができますか?それは何ですか、そしておそらくそれらはどのように引き起こされますか?
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
アプリケーションを<AUDIO APPLICATION>
に置き換えたことに注意してください
どうやら (ubuntu forums thread) 、
それはバッファのアンダーまたはオーバーランであり、Xはアンダーまたはオーバーを表します。これは、システムが一部のバッファーを時間内に処理しなかったため、一部のデータが失われたことを示しています。これは、サウンドカードが着信バッファーを非常に高速に処理する(オーバーラン)ような非常に小さいバッファーサイズで実行する場合に特に当てはまります。一部のチップは小さなバッファーサイズに対応できないため、サウンドチップによる処理を容易にするためにバッファー長を増やす必要があります。
Alsa Wiki から公式ドキュメントを追加するには:
「xrun」は、バッファーアンダーランまたはバッファーオーバーランのいずれかです。どちらの場合も、オーディオアプリは、ALSAオーディオバッファーにデータを配信するのに十分な速度でなかったか、ALSAオーディオバッファーからのデータを処理するのに十分な速度ではありませんでした。通常、xrunはパチパチまたはポップとして聞こえます。
Jackの下でxrunを最小化するために、さまざまなカーネルパッチと戦略が利用可能です。カーネルの横取りとRealtime Linux Security Module。執筆時点(2004年7月)では、これらの戦略は少し流動的な状態にあります。最新については http://jackit.sourceforge.net/docs/faq.php#a5 を参照してください。
Alsaの最近のバージョンでは、procツリーを介してxrunをログに記録してデバッグする手段が提供されています。
Xrunsのデバッグへのリンクは壊れていますが、いくつかの情報 here が見つかりました。