[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/24 23:58 / Filesize : 339 KB / Number-of Response : 936
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【ALSA】サウンドドライバ総合スレ 2【OSS】



816 名前:login:Penguin mailto:sage [2009/01/16(金) 22:59:00 ID:qStUUQkC]
HD Audioの音が出ねーよ!問題の始まりは、蟹(RealTek)がLinuxに提供した
ドライバがダメダメだったことなんだよな。
どこがダメダメかというと、HD Audioの規格上、自動認識でベンダーや
コーデックの種類を問わずに解決できるし、そうすべきだったはずの部分を
コーデックの種類別に決め打ちで記述してあった。
そのせいで、ALSAの人達が、他のベンダーのコーデック、例えばSigmaTel
社のコーデックのモジュールを書くときに、蟹のドライバをうっかり参考
にしてしまい、ベンダー別のモジュールにコーデック別の処理が延々と
記述されることになってしまった。
で、問題は何故蟹がそんなことをしたか?なんだが、同じ型番のチップの
リビジョン違いで、HD Audio 0.9準拠とHD Audio 1.0準拠のチップが混在
してたのが原因じゃないかって言われてる。
何でも、HD Audio 0.9なコーデックだと、トポロジーパーサがベンダー依存
の特殊な機能を持ったwidgetの使用を強いられるケースがあるらしい。
HD Audio 1.0ではトポロジーパーサがベンダー依存のwidgetを使わずに解決
できなくてはいけないことになっているので問題ない。
蟹のコーデックの仕様書では、この辺が上手に誤摩化されていて、この
ノードIDのwidgetはこういう機能を持つとは書いてあるけど、その
widgetの種類を問い合わせた時に、何が返ってくるかはどこにも書いて
ない。だから、実際にトポロジパーサがwidgetの種類を問い合わせると、
同じ型番のコーデックでもリビジョンによって違う結果が返ってくるわけだ。
そんなこんなで蟹はLinux向けのドライバを提供する時に、ノードID別に
widgetの種類を静的に記述して、widgetの種類を直接コーデックに問い合わ
せなくても済むようなコードを書いた。
で、巡り巡って世界中で「音声出ねーよ!」の怨嗟が満ちあふれることに
なったわけだ。
もちろん、これだけが音が出ない原因じゃないけどね。

ちなみに、今だとHD Audio 0.9準拠のコーデックを探す方が難しい。
理由はDesigned for WindowsXXXロゴを取得する時に、HD Audio 1.0準拠の
コーデックじゃないといけなくなったから。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<339KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef