структура ACX_STREAM_BRIDGE_CONFIG (acxstreams.h)
Структура AcxStreamBridge используется каналом для распространения создания потока, перехода состояний потока и параметров DRM между сегментами потока конечной точки.
Синтаксис
typedef struct _ACX_STREAM_BRIDGE_CONFIG {
ULONG Size;
ULONG Flags;
ACX_STREAM_BRIDGE_TYPE Type;
ULONG InModesCount;
PCGUID *InModes;
PCGUID OutMode;
ACXOBJECTBAG OutStreamVarArguments;
WDF_OBJECT_ATTRIBUTES TargetStreamAttributes;
} ACX_STREAM_BRIDGE_CONFIG, *PACX_STREAM_BRIDGE_CONFIG;
Члены
Size
Длина в байтах этой структуры.
Flags
Побитовое или перечисление ACX_STREAM_BRIDGE_CONFIG_FLAGS.
Type
Перечисление ACX_STREAM_BRIDGE_TYPE, определяющее тип моста.
InModesCount
Количество AUDIO_SIGNALPROCESSINGMODEs, перечисленных в InModes. Это режимы обработки сигналов, принятые в качестве входных данных ACXSTREAMBRIDGE. Дополнительные сведения о звуковых режимах см. в режимах обработки звуковых сигналов.
Это поле может быть равно нулю, только если для поля InModes задано значение NULL.
InModes
Указатель на список указателей AUDIO_SIGNALPROCESSINGMODE, поддерживаемых ACXSTREAMBRIDGE. Это поле может иметь значение NULL. GUID NULL — это значение подстановочной карточки, которое соответствует любым AUDIO_SIGNALPROCESSINGMODEs.
Если режимы обработки входных сигналов не определены, ACXSTREAMBRIDGE не соответствует ни одному режиму. В этом случае драйвер может вручную добавить входной поток в мост потока.
OutMode
Указатель на AUDIO_SIGNALPROCESSINGMODE, определяющий режим обработки звукового сигнала выходного потока. Если это поле равно NULL, AUDIO_SIGNALPROCESSINGMODE_DEFAULT используется, если поддерживается соответствующим ACXPIN, в противном случае используется AUDIO_SIGNALPROCESSINGMODE_RAW. Если он также не поддерживается, выходной поток создается без указания режима обработки звукового сигнала.
OutStreamVarArguments
И объект ACXOBJECTBAG, используемый для предоставления аргументов переменных для выходного потока. Это необязательные параметры и может иметь значение NULL. Дополнительные сведения о объектах ACX см. в ACX — сводка по объектам ACX.
TargetStreamAttributes
Структура WDF_OBJECT_ATTRIBUTES, используемая для определения атрибутов объекта ACXTARGETSTREAM.
Замечания
AcxStreamBridge используется каналом для распространения потока, перехода состояний потока и параметров DRM между сегментами потока конечной точки. Этот объект используется только в сценарии с несколькими каналами (составной звук).
Закрепление может быть связано с нулем, одним или несколькими ACXSTREAMBRIDGEs. ACX выполняет поиск связанного списка режима обработки сигналов ACXPIN для соответствия режима обработки потокового сигнала. Поиск останавливается в первом матче.
ACX создает мост ACXSTREAMBRIDGE по умолчанию для ACXCIRCUIT для моста ACXCIRCUIT, если драйвер не создает его, и драйвер не отключает обработку моста потока по умолчанию с помощью функции AcxCircuitInitDisableDefaultStreamBridgeHandling.
Если связанный ACXPIN поддерживает указанный режим обработки звуковых сигналов, то при создании выходного потока используется формат данных по умолчанию для этого режима обработки звуковых сигналов.
Если связанный ACXPIN не поддерживает указанный режим обработки звуковых сигналов, при создании выходного потока используется формат данных входного потока.
ACXSTREAMBRIDGE должен быть родительским объектом, который имеет ACXCIRCUIT в качестве предка.
Ниже показан пример использования.
ACXSTREAMBRIDGE bridge = NULL;
ACX_STREAM_BRIDGE_CONFIG bridgeCfg;
ACX_STREAM_BRIDGE_CONFIG_INIT(&bridgeCfg);
bridgeCfg.InModesCount = 0; // no in-modes. this stream-bridge is manually managed.
bridgeCfg.InModes = NULL;
bridgeCfg.OutMode = NULL; // no mode, i.e., default (1st), raw (2nd) or no mode (3rd).
bridgeCfg.Flags |= AcxStreamBridgeInvertChangeStateSequence;
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = pin;
status = AcxStreamBridgeCreate(Circuit, &attributes, &bridgeCfg, &bridge);
В этом примере показано, как задать stream BRIDGE для режимов RAW и DEFAULT.
//
// Add a stream BRIDGE for RAW and DEFAULT modes.
//
PCGUID inModes[] =
{
&AUDIO_SIGNALPROCESSINGMODE_DEFAULT,
&AUDIO_SIGNALPROCESSINGMODE_RAW,
};
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = pin;
ACXSTREAMBRIDGE bridge = NULL;
ACX_STREAM_BRIDGE_CONFIG bridgeCfg;
ACX_STREAM_BRIDGE_CONFIG_INIT(&bridgeCfg);
streamCfg.InModesCount = 2;
streamCfg.InModes = inModes;
streamCfg.OutMode = &AUDIO_SIGNALPROCESSINGMODE_DEFAULT;
status = AcxStreamBridgeCreate(circuit, &attributes, &bridgeCfg, &bridge);
Требования к ACX
минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в обзоре версий ACX.
Требования
Требование | Ценность |
---|---|
заголовка | acxstreams.h |