- 321 名前:自称作者たん mailto:sage [2008/07/18(金) 23:08:08 ID:Ju7HAMS+0]
- >>317
NVDShow.vss 自体の不具合ではありません。 IMediaPosition::get_Duration() IMediaSeeking::GetDuration() どちらとも、同じ105秒強を返しています。 フィルタ側の不具合ではないでしょうか。 たぶん、VBRの先頭フレームのサイズから、 (CBRと仮定して)ファイルサイズを割り、 フレーム数=再生時間を計算して、 それを渡しているのだと思います。 また、本来なら終わっている場所まで デコードが進んでも、 IMediaEvent::GetEvent() で EC_COMPLETEが返ってこず、 誤って算出された時間のところで EC_COMPLETE が返るようなので、 演奏中の終了検知も正しく出来ません。 この状況では、Lilith 側で、DirectShow を通して、 正しい終了位置を知る術はありませんので、 フィルタの作者の方に修正を依頼してください。
|

|