структура 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 |