ユーザー空間で完全に動作する Linux PCM 再生デバイスを作成する方法を理解するのに苦労しています。アプリケーションが snd_pcm_open/snd_pcm_readi/writei を呼び出すとき、呼び出しがユーザー空間ドライバーで終了し、ユーザー空間ドライバーが初期化されたときに作成されたスレッドで pcm データが処理されるようにします。オーディオ プロセス スレッドは、pcm を HW に出力する実際の ALSA カーネル ドライバーを呼び出します。これは基本的に私が達成したいことです:
アプリケーション -> ALSA (pcmC1D0p) -> オーディオ処理スレッド (ユーザー空間) -> ALSA (pcmC0D0p) -> HW
プラグインを少し調べましたが、それが正しい方法かどうかわかりませんか? また、実際にプラグインを開始する方法がわかりませんか? .so ファイルをコンパイルしましたが、どこに配置すればよいのか、どのように/何がそれを呼び出すのかわからないのですか?
任意のポインタをいただければ幸いです。