Microsoft DirectX 8.0

InfTee フィルタ サンプル

説明

インフィニット ピン ティー フィルタ。このフィルタには入力ピンが 1 つと、数が動的である出力ピンが含まれている。フィルタに送られるデータ サンプルはいずれも、すべてのパスに同時に配信される。これにより、入力は複数の出力ストリームに接続される。

パス

ソース : (SDK ルート)\Samples\Multimedia\DirectShow\Filters\InfTee

ユーザー ガイド

フィルタは、すべての出力ピンに同じデータを送る。したがって、出力ピンは接続中に同じメディア タイプにネゴシエートしていなければならない。インフィニット ピン ティー フィルタは、同じメディア タイプを使用した場合に入力ピンと両方の出力ピンが集合するようにこのネゴシエーションを処理する。適切なメディア タイプが見つからない場合、接続は拒否される。

フィルタは常に、指定されたアロケータを使用する。アロケータを指定するのは、データを提供するフィルタである。入力ピンに到着するデータは、出力ピンに送られるまでコピーされない。また、フィルタは、データがダウンストリーム フィルタに確実に出力されるようにし、両方の出力が適時にサービスを受けることを保証する。特に、出力の 1 つが COutputQueue::Receive メンバ関数においてブロックされる可能性がある場合、ティーはサンプルを送信するスレッドをスピン オフする。サンプルを送信するスレッドがない場合は、ティー入力ピンにサンプルを送信するスレッドがダウンストリーム フィルタにデータを渡す。その時点でブロックされると、他方のダウンストリーム フィルタには長時間にわたってデータが送信されない。