KSAUDIO_MIXCAP_TABLE構造体 (ksmedia.h)
KSAUDIO_MIXCAP_TABLE構造体は、スーパーミキサー ノード (KSNODETYPE_SUPERMIX) のミキシング機能を指定します。 この構造体は、 KSPROPERTY_AUDIO_MIX_LEVEL_CAPS プロパティのデータ値を取得または設定するために使用されます。
構文
typedef struct {
ULONG InputChannels;
ULONG OutputChannels;
KSAUDIO_MIX_CAPS Capabilities[1];
} KSAUDIO_MIXCAP_TABLE, *PKSAUDIO_MIXCAP_TABLE;
メンバー
InputChannels
入力チャネルの数を指定します。
OutputChannels
出力チャネルの数を指定します。
Capabilities[1]
KSAUDIO_MIX_CAPS構造体の 2 次元配列の最初のエントリ を 格納します。 m 入力チャネルと n 個の出力チャネルを持つスーパーミキサー ノードを指定すると、配列には m* 要素が含まれます。 各要素は、特定の入力チャネルから特定の出力チャネルへのパスのミックスレベル機能を記述します。
注釈
Capabilities テーブルは、次の 2 次元配列として格納されます。
KSAUDIO_MIX_CAPS Capabilities[M*N];
この表は、M 入力チャネルを N 個の出力チャネルにマップする M-by-N 行列です。 次の表は 、Capabilities 配列要素とスーパーミキサー ノードの M*N 入出力パスのマッピングを示しています。
配列要素 | 入出力パス |
---|---|
機能[0] | 入力チャネル 0 から出力チャネル 0 |
機能[1] | 入力チャネル 0 から出力チャネル 1 |
機能[N-1] | 入力チャネル 0 から出力チャネル N-1 |
機能[N] | 入力チャネル 1 から出力チャネル 0 |
機能[N+1] | 入力チャネル 1 から出力チャネル 1 へ |
機能[2N-1] | 入力チャネル 1 から出力チャネル N-1 |
機能[M*N-1] | 入力チャンネルM-1から出力チャンネルN-1へ |
つまり、入力チャネル i から出力チャネル j へのパスのミキサー キャップは 、Capabilities[i * N + j] に含まれています。 入力 i から出力 j へのパスが存在しない場合は、マトリックス要素 (i,j) の Mute メンバーを TRUE に設定します。
テーブルのサイズは、KSPROPERTY_AUDIO_MIX_LEVEL_CAPS get プロパティ要求によって取得される KSAUDIO_MIXCAP_TABLE 構造体から計算されます。 構造体の InputChannels メンバーと OutputChannels メンバーの値 が m と n の場合、KSAUDIO_MIXCAP_TABLE構造体に必要な合計ストレージとKSAUDIO_MIX_CAPS配列は として計算されます。
sizeof(KSAUDIO_MIXCAP_TABLE) + (mn - 1)sizeof(KSAUDIO_MIX_CAPS)
プロパティ サイズが 2*sizeof(ULONG) として指定されている初期KSPROPERTY_AUDIO_MIX_LEVEL_CAPS要求をクライアントが送信する場合、ミニポート ドライバーは、KSAUDIO_MIXCAP_TABLE構造体の最初の 2 つのメンバーである InputChannels と OutputChannels のみを入力する必要があります。 クライアントは、すべてのチャネルの機能を格納するのに十分なストレージが割り当てられた 2 番目のプロパティ要求を送信できます。
要件
要件 | 値 |
---|---|
Header | ksmedia.h (Ksmedia.h を含む) |