Linux用のサウンドドライバーを書きました。うまく機能しているようです。aplay および arecord という alsa アプリケーションでテストしました。別のアプリケーション (PJSUA) でテストしようとすると、期待どおりに動作しません。問題がアプリケーションにあるのか、ドライバーにあるのかを判断するのは非常に複雑です..
私の質問は次のとおりです。適切な操作のためにドライバーをテストできる別の簡単なアプリケーションを誰か提案してもらえますか?
どうもありがとう!
デバイスドライバーを作成する際の戦いの半分は、実際には、ユーザースペースにテストハーネスを作成して適切にテストすることです。また、コードがカーネルに入る前に、コードを徹底的に単体テストする必要があります。
の複雑な内面を理解することは避けられませんlibasound
。おそらく、デバッグビルドを使用してテストして、デバッグビルドを実行できるようにする必要があります。
I recommend you start with the ALSA examples - probably pcm.c
, and modify it so that it fuzzes your driver. At the very least you need to check each of the transfer methods (eg. write, write-and-poll, DMA), buffer sizes, notification-periods, and sample rates.