« ムービーのクロスフェード | メイン | ムービーのクロスフェードはムリ »

2005年02月08日

吉里吉里2/KAG3ムービー拡張日誌:: Stop Frameに対応するが・・・

    

Stop Frame に対応するが、一瞬次のフレームが描画されてしまう。
通常再生時のStop Frame は最終フレームの次に設定されている。
つまり、次のフレームが開始された瞬間にEC_COMPLETEが発行されていると思われる。
それより先にフレームがない場合には、描画する物がないので問題ないが、途中でEC_COMPLETE を発行するようにしていると、次のフレームを描画しようとしてしまうようだ。
そこで、OnRenderStart で現在の時間を取得するのと同時に停止時間も取得、DoRenderSample で現在の時間が停止時間を越えている時は描画を行わずにS_OK でreturnするようにした。
この修正によって、次のフレームが描画されてしまうことはなくなった。
また、通常時のループ、ループなし再生も問題なく行われることを確認した。
シークとデコードのオーバーヘッドが生じるために若干最終フレームが長く表示されてしまうことになるが、多分、気になるほどではないだろう。
さらに、この修正によってオーバーレイでもセグメントループが使えるようになったが、オーバーレイの場合は、次のフレームが一瞬描画されてしまうので、実質使えないかも。
なお、今回の修正によって仕様が変更になった。
Segment LoopのgoFrameのフレームは描画されないことになった。
ドキュメントの修正が必要だな。



投稿者 Takenori : 2005年02月08日 22:25




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