« インターフェイスを加えてビルド | メイン | フィルタの修正 »

2004年09月02日

吉里吉里2/KAG3ムービー拡張日誌:: インターフェイスの変更(?)

    

レンダーからイベントを送るため、IMediaEventSinkをセットするメソッドを追加したいと思い、IDLファイルにメソッドを追記し、IMediaEventSink型を使うために、import "axextend.idl";を追加する。
と、やっていてふと気付く、フィルタはイベントを送るんだから、IMediaEventSinkははじめから持っているんじゃないかと。
調べると・・・あった。
CBaseFilter.m_pSinkだ。
IMediaEventSinkを設定する関数は無駄だったんですね。
で、作っていた物を書き換えて動作確認する。
問題なく動いた。
IMediaEventSink関連の処理は全くの無駄だった。(涙
無駄な処理を削除していくのもまた悲しい。
それはともかく、MediaTypeを取得する物もインターフェイスへ追加しようと思ったが、フィルターではなく、ピンの方のIPin::ConnectionMediaTypeで取得できることがわかったので、やめる。
まあ、これ関連の処理も全くの無駄だったんだけど、これはこれで処理は短くなっていたので良しとしよう。書き換えないといけないけど。
で、結局インターフェイスはそのままでいいことになった。



投稿者 Takenori : 2004年09月02日 09:32




comments powered by Disqus
Total : Today : Yesterday : なかのひと