2012年5月30日水曜日

DirectShow, Media Foundation unraveled

このブログにある DirectShow, Media Foundation それから Windows Core Audio 記事から開発に関連した記事へのリンク集です。参考になれば幸いです。

COM

  1. COMの基礎(1)
  2. COMの基礎(2)
  3. ATLを使う
  4. HRESULT値からエラーメッセージの取得

DirectShow

  1. DirectShow アプリケーション制作のために必要な知識と用意するツール
  2. DirectShowを使う準備、Visual Studio 2005の場合
  3. Visual Studio 2008, Windows Vista での DirectShow セットアップ
  4. Visual Studio 2008 で DirectShow アプリのコンパイル
  5. Visual Studio 2010 と Windows SDK v7.1 で BaseClasses のコンパイルをする
  6. DirectShowの概要
  7. GraphEdit
  8. メディアタイプとは
  9. メディアタイプのフレンドリ名を取得するには
  10. メディアタイプをデバッグ出力するには
  11. RenderFileを使ったフィルタグラフの構築と制御
  12. フィルタグラフを構築する
  13. カテゴリを指定してフィルタを登録する
  14. 動的再接続
  15. プッシュモデルのソースフィルタ(1/2)
  16. プッシュモデルのソースフィルタ(2/2)
  17. プルモデルのソースフィルタ
  18. レンダラーフィルタの作成
  19. トランスフォームフィルタの作成
  20. フィルタに独自インターフェイスを追加する
  21. フィルタにプロパティページを実装する
  22. DirectShowフィルタ作成の準備とプロジェクトの設定
  23. IPropertyBagの実装
  24. DV Encoder, DV Decoder のインターフェイス
  25. DVカメラへ映像を出力
  26. DV カメラ映像を表示
  27. ストリームバッファエンジン(StreamBufferEngine)でタイムシフト
  28. Direct3D 10 サーフェイスへレンダリングするフィルタの制作
  29. Lanczos Resampling アルゴリズムでスケーリングした画像を VMR9 で表示する
  30. Direct3D10.1サーフェイス上で動画再生するには
  31. Windows Vista Home Premium, Ultimate には MPEG-2 フィルタが含まれる
  32. IEEE 1394 デバイスの OUI から会社名を取得するには
  33. Scope サンプルを 24bit PCM を受け付けるように改造する
  34. CBaseFilterから派生してDirectShowフィルタを作る
  35. texture3Dサンプルでグラフ構築に失敗する→少し書き換えてみる
  36. プライベートなフィルタでもファクトリーメソッドでインスタンスを作成する
  37. ポーズ(Paused)状態だとCBaseRenderer::DoRenderSampleが呼ばれない
  38. IMMDeviceを使ってDirectShowフィルタを取得するには
  39. Direct3D9 デバッグランタイムを使うとVMR9のIVMRSurfaceAllocatorNotify9::SetD3DDeviceが失敗する
  40. Windows 7 の DShow/MF の変更点 (Windows 7 Developer Guideより)
  41. 「オーディオチャンネルを結合する DirectShowフィルタの作成」を寄稿した
  42. Windows SDK for Windows 7 の新しいサンプルコード

Windows Mobile

  1. Windows MobileでDirectShowの開発環境構築
  2. Windows Mobile のフィルタを列挙する
  3. Windows Media Player を使って MP3 を再生(WindowsMobile)
  4. CodeZine : Advanced/W-ZERO3 [es]で簡易音声レコーダを作ろう
  5. CodeZine:Advanced/W-ZERO3 [es]でカメラアプリを作ろう
  6. MP3DMO を使うと RenderStream で E_FAIL が返ってくる
  7. Windows Mobile 用の Audio Renderer フィルタが作成できない?
  8. Video Capture Filter の Preview ピンからキャプチャする
  9. WindowsMobileのDirectShowでカメラ音無しに静止画撮影
  10. Windows Mobileで自作のDirectShowフィルタを作成する
  11. Wav File Writer Filter for Windows Mobile

Windows Media

  1. Windows Core Audio で EndPoint を取得
  2. キャプチャフォーマットを決定
  3. IAudioClientを排他モードで初期化する
  4. 録音する
  5. WASAPIはMMCSSを使う
  6. MMCSS とスレッド優先度

Media Foundation

  1. スタートアップとシャットダウン
  2. システムクロックを取得する
  3. Media Session による動画再生
  4. Media FoundationのGetServiceとは?
  5. Media Foundation の属性とは?
  6. Media FoundationのHRESULT値(エラーコード)をもとに文字列を取得する
  7. Media Foundation のメディアタイプ
  8. Media Session によるエンコード(WAVからmp4)
  9. Fast Transcode を使ってエンコードする (wavからm4a)
  10. 実行ファイルに内蔵したEVRカスタムプレゼンタを使うには
  11. EVRカスタムプレゼンタを実装する(1)
  12. EVRカスタムプレゼンタを実装する(2)
  13. EVRカスタムプレゼンタを実装する(3)
  14. イベントビューアでMedia Foundationのデバッグログを表示するには
  15. TopoEditでDX11 Video Rendererを使うには
  16. TopoEditのソースコード
  17. x64版TopoEditをビルドするには

2012年5月21日月曜日

TopoEditでDX11 Video Rendererを使うには

Windows 8 の SDK である Windows Kits には TopoEdit が含まれている。 TopoEdit は Media Foundation の topology を構築するツールである。

Windows 8 の TopoEdit には新しく Add DX11 Video Renderer という機能が追加されている。

Add DX11 Video Renderer

名前の通り DirectX 11 用のビデオレンダラーなのだが、実行するとエラーになってしまう。

エラーメッセージ

これを解決するには以下の手順。

  1. Windows Consumer Preview desktop samples (デスクトップアプリのサンプルコード全てをダウンロード) から DirectX video rendering sample (単体でダウンロード) を入手する。
  2. Visual Studio 11 でコンパイルする。
  3. regsvr32.exe で登録する。
Visual Studio 11 でコンパイル
regsvr32.exe 実行結果

登録後、再度 TopoEdit を実行すると node が追加できるようになっている。

2012年3月27日火曜日

Media Format Feature Pack for Windows 7 N with Service Pack 1 and Windows 7 KN with Service Pack 1

今日、こんなものを発見した。

Media Format Feature Pack for Windows 7 N with Service Pack 1 and Windows 7 KN with Service Pack 1 (KB968211)

Windows 7 N または KN 用のインストーラである。これらのエディションには Windows Media Player (WMP) と Windows Media 機能が無い。このパッケージをインストールすると Windows Media 機能が追加され、それをサポートするアプリケーションで使用できる。

2012年3月14日水曜日

十年一日の如し

CAAD9に乗って江ノ島→R134→三浦半島へ。ロードバイクに乗る、即ち、山の方に行って峠を登るという走り方ばかりだったので、ほぼ平坦なのが新鮮。

途中、城ケ島大橋を渡って城ケ島へ。橋は有料道路だが自転車は無料で渡ることができる。そこで鮪丼を食す。美味。ごはん大盛りが無料だったが、後で苦しまないために普通盛りにしてもらった。

……。

反時計まわりで走り、観音崎を経由し横須賀方面へ。馬堀海岸の直線ではもがく→信号にひっかかるを繰り返した。

暗くなってきたから横須賀駅から輪行。今回は思い切ってグリーン車にしてみた。Mu-P8の時は毎回グリーン車で輪行してたのだがCAAD9では初。前後輪外すタイプなら、どうにか平屋部分の座席の後ろへ収納できた。8号車と9号車の間で待っていれば該当する席4箇所が近いので、確保できる可能性が高い。

2012年3月2日金曜日

Windows 8 で開発環境を整える

Visual Studio 11 beta インストール後

Windows 8 Consumer Preview が公開された。OSだけでなく開発者向けに Visual Studio 11 beta も公開されている。

Visual Studio には SDK は含まれるもののサンプルコードが無く、別途ダウンロードが必要である。以下にリンクをまとめておく。

  1. Windows 8 Consumer Preview
  2. Visual Studio 11 beta
  3. Windows Consumer Preview desktop samples
  4. Windows 8 Consumer Preview Metro style app samples - C#, VB.NET, C++, JavaScript (任意)

OSとVisual Studioは何等かの理由で再インストールこともあるだろうから ISO イメージでダウンロードしておくことをお勧めする。

2012年2月22日水曜日

2012年1月22日日曜日

gdsync 0.5 を公開します

ローカルファイルとGoogle Docsを同期するツール gdsync をバージョンアップしました。

  1. デバッグ出力するオプション (-l debug) を追加した。
  2. CHECKOUT, UPDATE, LISTコマンドでGoogle Docs側のタイムスタンプを表示するようにした。
  3. 更新日時比較にタイムゾーンが反映されないことがあったので修正。

gdsync 0.5 をダウンロードする(Google Docs)

使い方はこちらを参照してください。