次の方法で共有


KS フィルター

フィルターは、データ ストリームで実行される処理タスクをカプセル化するノードのグループです。 ピン はフィルタの入力および出力導管として機能します。

単純なフィルターには、1 つのデータ シンク ピンと 1 つのデータ ソース ピンを含める場合があります。 フィルターは、データ シンク ピンの受信データを受信し、内部的に処理して、データ ソース ピンに書き込みます。 次の図では、ピンは重いライン セグメントとして示されています。 内部的には、フィルターによってデータ シンク ピンが内部処理ユニット ( ノード) に接続され、データ ソース ピンに接続されます。

単純な ks フィルターを示す図。

別のデバイスが、ピン間でデータ フローを結合または分割する場合があります。 たとえば、オーディオ ミキサーでは複数のデータ シンク ピンがサポートされています。 ミキサーはそれらを 1 つのストリームに結合し、そのストリームをデータ ソース ピンに書き込みます。 次の図はデータ フローを示します。

ミキサを示す図。

グラフには、フィルターのピン間の内部リレーションシップが記述されています。 より複雑なフィルターでは、フィルターを通過するデータを変換する複数のノードがカプセル化される場合があります。

フィルターは、 KSPROPSETID_Topology プロパティ セットを使用して、ピンと内部ノード間の内部接続を指定します。

KSPROPERTY_TOPOLOGY_CONNECTIONS プロパティは、KS フィルターのノード間のすべての接続を照会します。 このプロパティは、 KSTOPOLOGY_CONNECTIONの配列を返します。 各KSTOPOLOGY_CONNECTION構造体は、フィルター内の単一のデータ パス接続を表します。 上記のミキサー図では、KSTOPOLOGY_CONNECTION構造のシーケンスは次のようになります。

//    FromNode,       FromNodePin,     ToNode,        ToNodePin,
{
 {  KSFILTER_NODE,        0,            0,               0     },
 {       0,               1,       KSFILTER_NODE,        1     }
}