DirectShow: フィルタグラフのRun/Stop などの状態遷移について

こちらもDirectShowアプリケーションの開発者様からご指摘を頂いた点になります。

DirectShowアプリケーションがフィルタグラフの状態遷移を励起するAPI (Run, Stop, Pause など) を非常に高速かつ連続的にコールした場合、DirectShowアプリケーションが応答を停止してハングすることがあります。

こちらはDirectShow設計上の制限事項となります。DirectShowでは、それらの API はアプリケーションのユーザーインタフェース上のボタン操作に由来することを想定して設計されているため、人間の操作では不可能なくらい高速・連続的にコールするシナリオは想定されておりません。

恐れ入りますが、通常人間の操作で発生するオーダーの間隔を空けてコールいただけますようお願いいたします。

該当するAPIは以下の通りです。

  • IMediaControl::Run
  • IMediaControl::Pause
  • IMediaControl::Stop
  • IMediaControl::StopWhenReady

ご迷惑をおかけして申し訳ありませんが、よろしくお願いいたします。