OS X で DVB データにアクセスするためのオプションを検討しています。最初は EyeTV DTT USB デバイスをサポートしたいと考えていますが、長期的には多くの一般的なデバイスをサポートしたいと考えています。私が抱えている問題は、そのようなデバイスを制御する標準的な方法がないことです。
それらを使用する私が知っているすべてのアプリケーションは、アプリケーション内にドライバーコードを隠すか (たとえば、EyeTV 自体、すべてのドライバーは完全にユーザー空間に実装されており、外部アプリからはアクセスできません)、または一見機能していないように見えるMMInputFamilyドライバーを使用します (noソース コードはもう利用できません。
いくつかの調査を行ったところ、サポートしたい多くのデバイスが Linux DVB プロジェクト内でサポートされていることがわかりました。さらなる調査によると、数年前にLinux の実装を抽象化して、他のプラットフォームで再コンパイルできるようにする試みがあったことが示されています。デバイスをサポートするための努力はプールされるべきであり、それを行う最善の方法は、現在のオープンソースの実装を複数のプラットフォームで機能させることです.
他の *nix タイプのプラットフォームに対して Linux ドライバーをコンパイルするというアイデアも、他の場所で取り上げられ、ある程度の成功を収めています。著者が取ったアプローチは、私がリンクしたページで詳しく説明されていますが、OS X でも実行できる可能性があるようです。
いずれにせよ、いくつかのオプションがあるようですが、明確な勝者はありません。
- MMInputFamily ドライバーのソース コードを見つけて、OS X 10.6 で動作するようにし、必要なデバイスのサポートを追加して、ポインターの Linux ソース コードを参照してください。問題: ソース コードがどこにも見つからず、作成者も見つかりません。さらに、Linux ドライバーを OS X に移植するというこれまでの努力を十分に評価していたなら、作者はおそらく別の道をたどっていたかもしれません。
- リンクした FreeBSD プロジェクトと同様の方法で、Linux ドライバーを OS X に移植してみます。問題: これは非常に低レベルの作業であり、回避できる場合、このレイヤーでの作業は Apple によって推奨されていません。
- OS X のIOKitを使用してドライバーを作成します。これはドライバーを実装するための推奨される方法ですが、すべてを最初から行う必要があり、明らかに小さな仕事ではありません。
できれば Linux のソース コードを使用したいのですが、それが本当に実現可能かどうかはわかりません。このタスクを進める最善の方法についてアドバイスやアイデアを持っている人はいますか?