MPEGSplitter_query_accept MPEG-1 system streams not yet supported. エラーの回避方法。
Wine で Windows ゲームを実行したときにゲーム内のムービーが正しく再生されないことがある。これは Wine 内蔵の quartz.dll が MPEG-1 ビデオの再生に対応していないため。
fixme:quartz:MPEGSplitter_query_accept MPEG-1 system streams not yet supported. fixme:quartz:AMGetErrorTextW (80004005,0x33ddb0,160) stub
ネイティブの quartz.dll は以下の方法で入手することができる。
- Winetricks を使用する
- DirectX エンドユーザランタイム(February 2010)を使用する
- Windows XP Service Pack 3 ネットワークインストールパッケージを使用する
Winetricks を使用して quartz.dll をインストールする場合
winetricks quartz
ライブラリのオーバライド設定と regsvr32.exe による登録は Winetricks が行うため不要。
DirectX エンドユーザランタイム(February 2010)を使用する場合
Winetricks は DirectX エンドユーザランタイム(February 2010)からライブラリを抽出している。このランタイムは日本語サイトからは既に削除されているので英語サイトからダウンロードする。
Download DirectX End-User Runtimes (February 2010) from Official Microsoft Download Center http://t.co/VRLVY3EuxP
— mattintosh4 (@mattintosh4) 2014, 8月 5
curl でダウンロードする場合。
curl -O http://download.microsoft.com/download/E/E/1/EE17FF74-6C45-4575-9CF4-7FC2597ACD18/directx_feb2010_redist.exe
p7zip や cabextract を使用してファイルを展開する。Wine 上で 7-Zip などのアーカイバを使用してもかまわない。quartz.dll は dxnt.cab に含まれている。
7z x directx_feb2010_redist.exe dxnt.cab 7z x dxnt.cab quartz.dll
展開した quartz.dll を C:\\windows\\system32
へコピーする。
引き続きライブラリのオーバライド設定を行う。
Windows XP Service Pack 3 ネットワークインストールパッケージを使用する場合
Download IT プロフェッショナルおよび開発者用 Windows XP Service Pack 3 ネットワーク インストール パッケージ from Official Microsoft D… http://t.co/4fmD7N6mHl
— mattintosh4 (@mattintosh4) 2014, 8月 5
7z x WINDOWSXP-KB936929-SP3-X86-JPN.EXE i386/quartz.dl_ 7z x quartz.dl_
展開した quartz.dll を C:\\windows\\system32
へコピーする。
引き続きライブラリのオーバライド設定を行う。
ライブラリのオーバライド設定
wine regedit - <<! [HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides] "quartz"="native" ! wine regsvr32 quartz.dll