« 出力形式を変更できない? | メイン | やはりWM ASF Reader Filterは無理 »

2005年08月26日

吉里吉里 ムービー拡張日誌2:: E_NOTIMPLTが返ってくる

    

IWMReaderCallbackに必要なメソッドと、ストリームからオープンするメソッドなどを組み込んで、接続しようとするがつながらず。
失敗しているのは前回と同じ場所。
見てみると、WMVファイルを開いて設定しているはずのWM_MEDIA_TYPEがNULLになってる。
追うとIWMReaderAdvanced2::OpenStreamで失敗している。
E_NOTIMPLが返ってきている。
おかしい。
フィルタとして実装していない方は問題なく動作している。
違いはIStreamの実装か。
サンプルでIStreamのメソッドの内、実装しているのはRead, Seek, Statの3つ。
ブレークを張ると、Read, Statと順に呼ばれている。
Statがくさい。
吉里吉里側は、StorageImpl.h/.cppのtTVPIStreamAdapterが実態のよう。
で、tTVPIStreamAdapter::Statの実装を見ると……
……
return E_NOTIMPL;
これかーっ!
もしかして、WM ASF Reader Filterでも、これが実装されていれば動いたんじゃ……

サンプルの実装では、STATSTGの内typeとcbSizeのみ設定している。
吉里吉里の方ではcbSizeのみ設定している。
とりあえず、type設定して、S_OKを返すようにしてみよう。



投稿者 Takenori : 2005年08月26日 21:50




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