本フィルターでは、2つの固定的出力ピンを持つ。
一つは、Video 用 (QPinVideo) もう一つは、Audio 用 (QPinAudio) となる。
接続を行う。(下記参照)
出力ピンでは、インプリメントされない。
接続を解除する。動的再接続はサポートしない。
接続状態の情報を返す。
ピンの情報を返す。
下流フィルターからの MediaType 変更を受け付ける。
Video Renderer は、出力サーフェイスの都合で、ビットマップの Stride (Pitch) を変更 する場合がある。
出力可能な MediaType を提示する。
内部接続されたピンはない。
出力ピンでは、インプリメントされない。
フィルターグラフから、接続要求があった場合、出力ピンに対して、IPin::Connect() が 呼び出される。このメソッドで、接続処理を行う必要がある。
BaseClasses では、接続ネゴシエーションの複雑なロジックが実装されているが、ここでは、 簡易的な実装を行うものとする。
To be implemented.
ピンの持つ出力 MediaType が入力ピンに受け入れられるかテスト (IPin::QueryAccept()) する。
入力ピンの IPin::ReceiveConnection() を呼び出す。
Push Model で出力を行うため、入力ピンに対して IMemInputPin を要求する。
入力ピンから提供される Allocator を使用するため、入力ピンに Allocator を 要求する。本フィルターからの Allocator の提供は行わない。(レンダラーは、 上流フィルターの Allocator を受け入れない場合がある。)
Allocator に必要なバッファサイズの要求 (IMemAllocator::SetProperties()) を行う。
接続先のフィルターによっては、SetProperties() 呼び出しで、 QueryAccept() により、MediaType の修正が求められる場合がある。
IMemInputPin::NotifyAllocator() を呼び出し、Allocator を確定する。
接続プロセスを完了する。
なお、本フィルターでは、動的再接続はサポートしない。