« Win2kでのデバッグ | メイン | 分離することに »
2005年12月19日
吉里吉里 ムービー拡張日誌2:: 音なしで再生
Tweet @jin1016をフォローオーディオレンダリングフィルタがPauseから返ってきていないだけかもしれないと思い、オーディオレンダリングフィルタを追加せずに再生してみた。
再生できた。
負荷もかなり軽い。
DirectX VAを使って再生できた。
少しうれしかったが、音がないのでまだ使えない。
いったいどうすればいいのだろう?
音が原因だとわかったので、その部分に絞って調べれば良いのだが、よくわからない。
音の出力側でもDirectX VAの設定をしてしまっているようだったので、しないようにしたが変化なし。(そもそも勘違い)
構成を変えるべきだろうか?
現状、ソースフィルタ内にDemuxとDecoderが入った構成になっているが、これをソースフィルタ内にはDemuxのみにし、Decoderは別フィルタにしてくっつけると言う方法もある。
WMF SDKのヘルプには、DemuxとDecoderがくっついたソースフィルタで作れと書かれている。(To enable DirectX VA for streamed content, you must create a custom source filter like the one in the top diagram. top diagramはDemuxとDecoderがくっついたソースフィルタの図を指している)
だけど、DirectShowに元々あるWMV用のソースフィルタ(WM ASF Reader)は、DemuxとDecoderが分離した形になっている。
GraphEditにドロップした時もこの形になり、DirectX VAが有効になる。
だから、どっちでもいいと言ったらどっちでもいいと思われる。
ただ、フィルタを分離すると少しオーバーヘッドがある。
カスタムアロケーターを作ればコピーが減らせるので、大差ないかもしれないが、現状の方が効率的だろう。
もう少し現在の構成でがんばってみるかな。
ヘルプにはWMV Decoder DMOとネゴシエートすると明確に書かれているし、図ではWMA Decoder DMOがAudio Rendererとつながっている。
だから出来そうではあるのだが・・・
投稿者 Takenori : 2005年12月19日 10:36
comments powered by Disqus