NVIDIA社製GPU上でDirectShowビデオレンダラによってはプレビューができなくなる

弊社が公開しているUSBカメラキャプチャツール「IFTCap」がWindows 10においてキャプチャした映像のプレビューが表示されないという問題が報告されました。この問題が発生している環境の共通点としてGPUにNVIDIA社のGeForceを使用していることが分かりました。ただし、GeForceであれば必ず問題が発生する訳ではありませんでした。また、問題が発生する環境でもMicrosoft社のAmCapでは表示されるという報告もありました。IFTCapとAMCapでは使用しているDirectShowビデオレンダラが異なるため、その違いによる挙動をGraphStudioNextを用いて確認してみました。

Video Rendererの場合:正常に表示されています。

Video Mixing Renderer 7(VMR-7)の場合:再生フレーム数は更新されているが、白画面になっています。

Video Mixing Renderer 9(VMR-9)の場合:VMR-7と同様の状態です。

Enhanced Video Renderer(EVR)の場合:Video Rendererと同様に正常に表示されています。

ビデオレンダラの中では最も古いVideo Rendererと最も新しいEVRでは表示されて、VMR-7とVMR-9では表示されないという結果になりました。IFTCapはVMR-9、AmCapはVideo Rendererを使用しており、この結果に一致します。

今回の確認だけでは原因は分からないため調査を継続しますが、今後のビデオレンダラを使用するアプリケーション開発においてはEVRを使用するのが良さそうです。