« ストリーム タイムを追う | メイン | AVIの確認/オーバーレイの確認 »

October 04, 2004

ピリオドイベントと無音MPEGの動作確認

まず、ピリオドイベントで忘れていたものを追加。
rewind がコールされた時か、frame にイベント発生フレームよりも小さい値がセットされた時に、イベント発生抑止を解除するようにした。
一度だけしかイベントを送らないというのも忘れていたので、追加した。

1分ぐらいの無音MPEG(.mpv)ファイルを再生して、ピリオドイベントで字幕を変化させるスクリプトをテストしてみる。
どうさせると、いきなりフィルター接続でエラーが返ってくる。
デバッガーで追うと最初のMPEG1スプリッターで、ピンを接続する際、適切な中間フィルタが見つかりませんでしたと言う、エラーが返ってきて失敗していた。
拡張子をmpgにし動作させると、そこは通り、DirectSoundフィルタを接続するところで失敗する。
どうやら、メディアタイプをMPEG1Videoとするのがまずいようだ。
なので、拡張子が.mpvとなっていても、MPEG1System とすることにし、DirectSoundフィルタの接続で失敗したら、音がないものとみなして、DirectSoundフィルタを接続しないような作りに変更した。
また、ついでにAVIの場合も同じような作りにしたので、音無しAVIにも対応したはず。
この修正によって、音があってもなくても拡張子は.mpgとして、内部で判断するようになった。
これで、.mpgでも、.mpvでもどっちでも良くなった。
ただし、MPEG1VideoCDの.datは確認していない。と言うか、ビデオCDは持っていないので確認できない。
ちなみに、MPEG1VideoはTMPGEncで作ったので、一般的なファイルになっているはず。

ピリオドイベントの方は1発でうまく動いた。

投稿者 Takenori : October 4, 2004 04:33 PM

Trackback Pings

このエントリーのトラックバックURL:
http://blog.kaede-software.com/mt-tb.cgi/246

コメント

Total : Today : Yesterday :