DSPACKコンポーネントライブラリを使用してDelphi6で記述されたDirectShowフィルターがあります。プッシュソースのビデオフィルターです。フィルタは、ビデオフレームを生成する別のスレッドで通知されるイベントをブロックします。フレームの準備ができると、ブロックが解除されたときにFillBuffer()メソッドがアクセスする共有メモリ領域に書き込まれます。フィルタがDirectShowによってシャットダウンされているときにFillBuffer()スレッドのブロックを解除するためにピギーバックできる便利なDirectShowイベントはありますか?そうでない場合、この分野の「標準的な慣行」とは何ですか?
1 に答える
2
標準的な練習はWaitForMultipleObjects
関数と友達です。ロックを解除するイベントの 1 つを待っていますFillBiffer
: 外部ソースからの新しいビデオ フレームの可用性、フィルターへのリクエストの到着の停止など。
于 2011-12-24T18:23:24.483 に答える