あつりんの備忘録♪

日々の出来事や忘れちゃぁならん事などなど、ゆる~く書いていきます♪

Windows Vista SP2の不具合

っていうのは安易かもしれないが、少なくともSP2に起因する不具合が発生した。
15日にSP2を適用してから安定動作していたので一安心と思いきや、昨日Vista上のWindows Media Player 11(Ver 11.0.6001.7007)や、RealNetworks社(http://www.jp.realnetworks.com/)のRealPlayer SP(Ver 1.0)上でDVDを再生したところ画像が乱れたり音声が流れなかったり異常な動作をするようになった。
以前(http://d.hatena.ne.jp/atsurin/20080826/)にも同じ問題で悩んだことがあるが全く同じ症状だったので、まずは「システムの復元」機能でSP2導入前まで戻してみたら正常にDVDが再生されるようになり、SP2適用のタイミングで不具合が発生しているのはほぼ間違いない。ともあれSP2を適用したいので、不具合の原因を探ってみた。
当初、先日(http://d.hatena.ne.jp/atsurin/20090814/)導入したコーデックパック「CCCP(Combined Community Codec Pack)」(http://www.cccp-project.net/)が原因かと思ったが、SP2導入前(SP1+CCCP)は不具合は一切発生していないことや、アンインストールは勿論、複数登録されたコーデック(デコーダ)の優先順位であるメリット値の変更を行ってもSP2上では改善されないことから「CCCP」の問題ではないことは判明した。
あと考えられるのは、SP2とデバイスドライバとの相性やVista(OS)側の設定ミスだ。で、16日に更新したグラフィックスドライバ「GeForce Driver 190.38」の関連も含め、各デバイスドライバを虱潰しに見てみたがこれといったエラーなどはなかった・・・が、唯一怪しいものがあった。
サウンドボードデバイスドライバ」だ。
我が愛機のサウンドボードONKYO社(http://onkyo.jp/wavio/index.htm)の「SE-200PCI」。PCで最高の音楽環境を実現することをコンセプトに開発された非常に優秀なボードだが、如何せんVista用のデバイスドライバが非常にヘボく、2007年11月16日にリリース(Ver.5.20A)されて以来、一度たりとも更新されていないのだ。仕方が無いので「SE200-PCI」のメインコントロールチップ(Envy24HT)供給元であるVIA社(http://www.viatech.co.jp/)のデバイスドライバ(Ver.5.40A)を自己責任で使っている始末。もっともこれも、2008年8月5日のリリースなので新しくもないが・・・
と言う訳で不安要素があるサウンドドライバが怪しいと思い、SP2上での「SE-200PCI」の動作を詳しく調べてみることにした。現象としては、

  • デバイスドライバ : Ver.5.20A
    • そもそもwavファイルが正常に再生されない(症状がより悪くなる)。
  • デバイスドライバ : Ver.5.40Aで「Envy24HF Control Panel」内の「S/PDIFコントロール」の設定
    • 「AC3またはPCMを自動選択(48kHz)」を選択 : WMP11、RealPlaye SP上でDVDコンテンツの映像は流れるが無音。DVDメニューは表示可能。
    • 「PCMのみ」を選択 : WMP11、RealPlaye SPともに、DVDコンテンツ映像も音声も途切れ途切れで途中で終了。DVDメニュー表示も不可。
    • それ以外にエラーはなく、CD再生やストリーミング再生は正常。

という結果となった。要はサウンドボードデバイスドライバ(ツール)絡みで症状が変わることから、サウンド設定に関わる不具合や設定ミスだと考えられる。
これを踏まえ、出力方法の変更(アナログ・デジタル)、デバイスドライバのアンインストールや再インストール、SP2とデバイスドライバの適用順番変更など色々試行錯誤してみたが何も変わらず・・・最悪、SP2適用を諦めなくてはいけないと思ったが、もっと基本的なことではないのかなと一服しながら冷静に考えてみたら、ありましたよ!OS上のコンパネに設定可能なオプションが!!
で、以下の通り設定してみた(デバイスドライバはVer.5.40A)。

  • [コントロールパネル]−[ハードウェアとサウンド]−[サウンド]の「再生」タブ内の「スピーカー Envy24 Family Audio Controller WDM」のプロパティを選択。
  • [スピーカーのプロパティ]が開くので「詳細」タブを選択、「排他モード」の「アプリケーションによりこのデバイスを排他的に制御できるようにする」チェックを外す。

これで「AC3またはPCMを自動選択(48kHz)」でも「PCMのみ」でも正常にDVD再生できるようになった。
一応、調べてみたところMicrosoftサポートオンライン(http://support.microsoft.com/kb/925901/ja)に関係があると思われる記述があった。
Windows Vista では、信頼性を高め、オーディオ アプリケーション開発を簡略化するため、Windows オーディオ スタックが再設計されました。Windows VistaMicrosoft Windows Media Player 11 では、メディア ファンデーションと呼ばれる新しいマルチメディア API が使用されます。メディア ファンデーションでは、Windows Media オーディオ (WMA)、Windows Media ビデオ (WMV)、および MP3 の各メディア形式が提供されます。これらの変更により、Windows Vista での Windows Media Player のオーディオ再生の動作が、Windows XP での動作とは異なる場合があります。
(中略)
アプリケーションは、オーディオ デバイスからダイレクト メモリ アクセス (DMA) モードのオーディオ バッファへの直接アクセスが、オーディオ エンジンによってアプリケーションに許可されるように要求できます。オペレーティング システムによるオーディオ データの中間処理が最小限になることが要求されるアプリケーションは、DMA モードで動作します。また、Dolby Digital や WMA Pro などの圧縮オーディオ データを S/PDIF (Sony/Philips Digital Interface) を介して出力する必要があるアプリケーションも、DMA モードで動作します。アプリケーションのオーディオ エンジンが排他モードの場合、その他のアプリケーションはオーディオを提供できません。これは、[スピーカーのプロパティ] ダイアログ ボックスの [詳細] タブで制御できます。排他モードでは、オーディオ エンジン スタック全体が無視されます。そのため、システム サウンド、セッションごとのボリューム コントロール、および Windows Media Player の拡張設定は機能しません。 」
要するに、Vistaでは構造上、オーディオデバイスは排他モードだと機能しないアプリケーションが発生するってことです。まぁ排他利用するアプリケーション(ツール)が何だか不明だし、排他利用したときのアプリケーションが想像以上に挙動不審になるのもイマイチ納得いかない。そもそも上記内容が不具合の理由になっているのかどうかも不確実だし、SP2適用段階で発生するのもよく分からない。まぁ「Envy24HF Control Panel」がVista SP2用に最適化されていないのが原因だと思うが・・・
この設定で新たな問題が発生する可能性もあるが、通常のアプリケーション(プレイヤー)による再生には問題ないと思われるので、例の如く様子見ということで、とりあえず解決。