フレーム挿入
AVStream の既定では、リクエスターはアロケーターから空のフレームを取得し、キューに配置します。 その後、ミニドライバーは、ピン中心の処理またはフィルター中心の処理によってフレームを塗りつぶします。 フレームはトランスポートを介して回線内の次のオブジェクトに移動し、最終的に回線を完了して要求元に戻ります。 その後、AVStream はフレームを再利用します。
ミニドライバーは、インジェクション モードを使用して、この既定の動作をオーバーライドできます。 インジェクション モードでは、ミニドライバーは、回路にフレームを配置する役割を担います。 フレームは、既定の方法で回線の周囲に伝達されます。 フレームが起動した AVStream オブジェクトにフレームが戻ると、AVStream はミニドライバー提供の AVStrMiniFrameReturn ルーチンを呼び出します。
このルーチンでは、ミニドライバーは、たとえばフレームの割り当てを解除したり、フレームの返却時に保留中の作業を完了したり、フレームをリフィルして再挿入したりできます。
インジェクション モードを設定するために、ミニドライバーは KsPinRegisterFrameReturnCallback を呼び出し、AVStrMiniFrameReturn ルーチンへのポインターを提供します。
呼び出さないでください KsPinRegisterFrameReturnCallback フィルターが停止状態です。
回線にフレームを挿入するには、KsPinSubmitFrame または KsPinSubmitFrameMdl を呼び出します。
次の図は、ソース フィルター、インプレース変換フィルター、およびソース挿入フレームを含むレンダリング フィルターで構成される AVStream フィルター セットを示しています。