yosumuraのプロフィール

@yosumura yosumura
ありがとう数8
質問数3
回答数2
ベストアンサー数
0
ベストアンサー率
0%
お礼率
56%

  • 登録日2004/10/07
  • テンプレートの書籍

    テンプレートについて、学びたいと思っています。 当方、C++については、オブジェクト指向分析・設計から実装まで、 業務システム開発を、特に問題なく行っています。 デザインパターンも、ある程度は理解しています。 最近、テンプレートを趣味的に勉強しようと思いだしまして、 できるだけ平易なものを、楽しく読んでみたいと思っています。 そこで、こういう書籍をこういうステップで読んでいったら よい(よかった)など、教えていただければ幸いです。 面白く読めそうなWebサイトなどでも結構です。 ご紹介よろしくお願い致します。

  • GraphEditではつながるのに、DirectShowだとConnectできない

    少し特殊なフォーマットをサードパーティ製のフィルターを通して DirectShowを使用して再生します。 該当素材はGraphEditにDnDすると普通にFilterが接続され再生も可能です。 あまり詳しくかけませんので概略のみ 該当素材をAddSourceFilter()して、Splitter/Renderなど必要な FilterをAddFilter()で全て加えます。 SourceのOutpinとSplitterのInpinを HRESULT hr = IGraphBuilder->Connect(Outpin, Inpin); この際 hr = 0x80040207 (VFW_E_NO_ACCEPTABLE_TYPES) となりPinの接続ができません。 Render()でも 0x80040218(VFW_E_CANNOT_RENDER) です。  Source を Mpeg1、Splitter を Mpeg-1 Stream Splitter  に変更しますと普通に接続できますので、Programの  構造としてはあっていると思います。 文字通りMediaTypeが異なるから? と QueryAccept()で確認しましたが問題はないようです。 さらにMSDNのサンプルを参考にして上記のProgramで作ったフィルタグラフを .grfファイルに書き出しました。 GraphEditで開きますと必要なFilterはすべて追加されているが、 つながってはいない状態です。これは上記の現象から理解できます。 しかし解せないことに、このGraphEditでSourceFileのPinから Render Pinを行うと完璧にフィルターが接続されます。 もちろんPin同士だけをつなげることも可能です。 基本的にGraphEditでできることはProgramでも出来ると思うのですが、 今回のケースは理解できません。 GraphEditでつながるにも関わらず、直接Pinの接続が出来ないというのは なぜなのでしょうか。 以下に環境を記載します。 Windows XP SP2 DirectX 9.0C Microsoft DirectX SDK (March 2008) Microsoft Platform SDK for Windows Server 2003 SP1