DirectShowフィルターグラフをシャットダウンするときに、サンプルグラバーフィルターがこれ以上コールバックを生成しないようにする方法は?

StackOverflow https://stackoverflow.com/questions/8323334

質問

DSPACKコンポーネントライブラリを使用して、Delphi 6にDirectshowアプリケーションが書かれています。フィルターグラフをシャットダウンすると(プレイを停止)、コールバックメソッドを所有するオブジェクトが破壊された後にサンプルグラバーディレクターショーフィルターからのコールバックが発生したため、アクセス違反が得られます。それは毎回起こるわけではありませんが、かなり頻繁に起こります。誰かが私に、すべての保留中のサンプルグラバーコールバックが受信または排除されたことを確認する方法でグラフをシャットダウンするために必要な手順を教えてくれるコードサンプルまたはドキュメントを教えてもらえますか?

役に立ちましたか?

解決

発行はどうですか ISampleGrabber::SetCallback(NULL, ... フィルターグラフを停止/リリースする前は?

これについては、終了を示す内部フラグを設定し、さらに処理せずにすぐに返す必要があるコールバックで確認できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top