« 音なしで再生 | メイン | かなり安定した »

2005年12月21日

吉里吉里 ムービー拡張日誌2:: 分離することに

    

Demux+Decoderの構成でいろいろと試してみるが、どうもうまくいかない。
すっぱり諦めて、元々あるWM ASF ReaderのようにDemuxのみのソースフィルタにすることにした。
つまり、WM ASF ReaderのIStream読み込み対応版と言うことになる。

同期リーダーで圧縮されたままのサンプルをダウンストリームに送るように変更し、フィルタグラフにはWMV(WMA) Decoder DMO Wrapper Filterを追加。
再生してみる。
負荷を見ると、前回より数パーセント高くなっているようだ。
まあ、分離したので多少重くなっても仕方がない。
でも、元々あるWM ASF Readerよりも数パーセント高いのが気になる。
もっと効率的に出来る部分があるのだろうか?
良くわからないのはバッファの数。
初めは1個にしていたのだが、1個だけでは全然足りないので増やしていくがいくつぐらいにすれば良いかわからない。
とりあえず、30個あれば止まらないようなのでそうした。
これでとりあえずは出来たかと思ったが、Win2kマシンでは引きつる。
同期リーダーと言うのが原因だろうか?
デコード前のデータが表示時間に合わせて出力されるためにデコードの分遅延が発生してしまい、遅いマシンではそれが顕著にわかるのかもしれない。
そこで、同期リーダーの再生速度を2倍にしてみるが、再生できなくなってしまった。
他にもいろいろと試すが、どうも改善されない。
非同期リーダーを使わないと難しいのかも。

非同期リーダーで圧縮されたままのサンプルをダウンストリームに送るようにした。
引きつりはなくなりきれいに再生されるようになった。
負荷は特に変わらず。
バッファの数は1個あれば良さそう。
後はいらなくなった処理を省いていき、シークや再接続の対応をきっちりしていけば完成かな。



投稿者 Takenori : 2005年12月21日 01:03




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