07/12/16 14:46:05 R54hvxBE
>>92
もしかして seraphy さんでしょうか?
私も MP4 Splitter のソースを詳細に追ったわけではないのですけど、DirectShow で
パーサフィルタを作る場合は、基本的に垂れ流しモデル (レンダラーでブロック
されることを期待して、パーサ段階でのタイミング調整は行わない) を採用します。
URLリンク(www.marumo.ne.jp)
で書いたような動作ですね。(勿論、パーサでタイミング調整を行う邪悪なフィルタ
セットも世の中には存在していて、そーゆーのに出くわすと絶望してあんな愚痴を
延々 6/10 ~ 6/26 まで書いたりもするのですけど)
垂れ流しモデルを採用している場合であれば、
> デコーダがレンダラーのFIFOで利用すべきタイムスタンプを設定したときに、その時刻は
> 現実世界では既に経過してしまっている、という矛盾が発生するのではないですか?
という現象は、デコード処理に CPU 100% を使い切ってしまい、処理が間に合わなく
なる時にしか発生しません (シーク後の再生直後とかには発生しがちになるかもしれ
ませんが、その対策は I0 の出力を B2 入力時にずらすことで可能になります)