DirectShowに関するメモ

VS2005環境でDirectShow?を開発するための準備

  • PlatformSDK 2003 SP1(April 2005)をダウンロード&インストールする
    • VisualStudio2005に標準で入っているPlatformSDKにはDirectShow? SDKは含まれていません
      DirectShow? SDKはDirectX SDKからPlatformSDKへ移管されたのと、(PlatformSDK April 2005)にしか現在のところ入っていないので、これをダウンロード&インストールします。
  • いくつかのファイルはUnicodeで上書き保存しなおさないと、nmakeが通らない場合があります。
    また、宣言方法が古いコードが存在しているため警告が大量に出ます。
  • 「ctlutil.h」の278行目「operator=(LONG);」を「(long)operator=(long);」と修正しなければなりません。
  • 「winutil.cpp」の2094行目「for(UINT Count〜」の「UINT Count」を外に出して、宣言しなければなりません。
  • 「outputq.cpp」635行目「for(long iDone〜」の「long iDone」を外に出して、宣言しなければなりません。
  • 「wxdebug.cpp」564行目「static DWORD g_dwLastRefresh? = 0;」に書き換えなければなりません。
  • コマンドプロンプトの起動
  • デバック用
    • 「cd c:\Program Files\Microsoft Platform SDK」
    • SetEnv?
    • 「cd Samples\Multimedia\DirectShow?\BaseClasses?
    • 「nmake」
    • これで、「XP32_DEBUG」フォルダ内に「strmbasd.lib」が作成されます
  • リリース用
    • 「cd c:\Program Files\Microsoft Platform SDK」
    • SetEnv? /XP32 /RETAIL」
    • 「cd Samples\Multimedia\DirectShow?\BaseClasses?
    • 「nmake」
    • これで、「XP32_RETAIL」フォルダ内に「strmbase.lib」が作成されます

※現状VS2003でライブラリを作成して、VS2005にあわせた修正をするほうが楽です