サンプルレートを44.1kHzに設定すると、ALSAドライバは組み込みハードウェアのサンプルクロックをどのように決定しますか? MCLKの周波数調整を確認するには、どのソースファイルを参照する必要がありますか?
ユーザー空間からPCMにサンプルクロック(MCLKなど)を提供するアプリケーションを作成したいと思います。どうすればいいですか?
答え1
ALSAでは、各デバイスは独自のハードウェアサンプリングレートクロックを使用します。したがって、異なるクロック間の誤差が蓄積される。これまで、ファイルを介して別の方法でクロック速度を調整できるALSAドライバを見たことはありません。しかし、これは特定のサウンドカードのALSAドライバが例外ではなく、何らかの方法でこれを行うことができるという意味ではありません。
ユーザー空間から直接サンプルクロックにアクセスすることはできないようです(カーネル空間でもアクセスできない可能性があります)。
Jackは単一のALSAデバイスを使用して、すべてのものにマスタークロックを提供します。これは、ALSAからのフィードバックに基づいてバッファのサイズを変更することを意味します(ただし、これは単なる推測です)。 Jackのコードを見て、彼らが何をしているのか見てみましょう。