ACX_STREAM_BRIDGE_CONFIG-Struktur (acxstreams.h)
Die AcxStreamBridge-Struktur wird von einer Verbindung verwendet, um die Datenstromerstellung, die Statusübergänge des Datenstroms und die DRM-Einstellungen zwischen den Leitungsdatenstromsegmenten des Endpunkts zu verteilen.
Syntax
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;
Member
Size
Die Länge dieser Struktur in Bytes.
Flags
Bitweises OR von ACX_STREAM_BRIDGE_CONFIG_FLAGS Enumeration.
Type
Die ACX_STREAM_BRIDGE_TYPE Enumeration, die den Brückentyp definiert.
InModesCount
Die Anzahl der in InModes aufgeführten AUDIO_SIGNALPROCESSINGMODEs. Dies sind die Signalverarbeitungsmodi, die von ACXSTREAMBRIDGE als Eingabe akzeptiert werden. Weitere Informationen zu Audiomodi finden Sie unter Audiosignalverarbeitungsmodi.
Dieses Feld kann nur null sein, wenn das Feld InModes auf NULL festgelegt ist.
InModes
Ein Zeiger auf eine Liste von AUDIO_SIGNALPROCESSINGMODE Zeigern, die von ACXSTREAMBRIDGE unterstützt werden. Dieses Feld kann den Wert NULL annehmen. Eine NULL-GUID ist ein wilder Karte Wert, der mit jedem AUDIO_SIGNALPROCESSINGMODEs übereinstimmt.
Wenn die Eingangssignalverarbeitungsmodi nicht definiert sind, stimmt ACXSTREAMBRIDGE nicht automatisch mit einem Modus überein. In diesem Fall ist es Sache des Treibers, den Eingabedatenstrom manuell zur Streambrücke hinzuzufügen.
OutMode
Ein Zeiger auf einen AUDIO_SIGNALPROCESSINGMODE, der den Audiosignalverarbeitungsmodus des Ausgabedatenstroms definiert. Wenn dieses Feld NULL ist, wird die AUDIO_SIGNALPROCESSINGMODE_DEFAULT verwendet, wenn es von der zugeordneten ACXPIN unterstützt wird, andernfalls wird die AUDIO_SIGNALPROCESSINGMODE_RAW verwendet. Wenn auch letzteres nicht unterstützt wird, wird der Ausgabestream erstellt, ohne einen Audiosignalverarbeitungsmodus anzugeben.
OutStreamVarArguments
Und ACXOBJECTBAG-Objekt, das verwendet wird, um Variablenargumente für den Ausgabestream bereitzustellen. Dies ist eine optionale Einstellung und kann NULL sein. Weitere Informationen zu ACX-Objekten finden Sie unter ACX – Zusammenfassung von ACX-Objekten.
TargetStreamAttributes
Eine WDF_OBJECT_ATTRIBUTES-Struktur , die zum Definieren der ACXTARGETSTREAM-Objektattribute verwendet wird.
Hinweise
AcxStreamBridge wird von einer Verbindung verwendet, um die Datenstromerstellung, die Statusübergänge des Datenstroms und die DRM-Einstellungen zwischen den Leitungsdatenstromsegmenten des Endpunkts zu verteilen. Dieses Objekt wird nur in einem Szenario mit mehreren Schaltungen (Audio-Verbund) verwendet.
Ein Pin kann 0, einem oder mehreren ACXSTREAMBRIDGEs zugeordnet werden. ACX durchsucht die liste des zugeordneten ACXPIN-Signalverarbeitungsmodus nach einer Übereinstimmung im Streamsignalverarbeitungsmodus. Die Suche wird bei der ersten Übereinstimmung beendet.
ACX erstellt eine ACXSTREAMBRIDGE-Standard-ACXSTREAMBRIDGE für eine ACXCIRCUIT-zu-ACXCIRCUIT-Brücke, wenn der Treiber keine erstellt, und der Treiber die Standarddatenstrombrückenbehandlung nicht mit der AcxCircuitInitDisableDefaultStreamBridgeHandling-Funktion deaktiviert hat.
Wenn der zugeordnete ACXPIN den angegebenen Audiosignalverarbeitungsmodus unterstützt, wird beim Erstellen des Ausgabestreams das Standarddatenformat für diesen Audiosignalverarbeitungsmodus verwendet.
Wenn der zugeordnete ACXPIN den angegebenen Audiosignalverarbeitungsmodus nicht unterstützt, wird beim Erstellen des Ausgabedatenstroms das Datenformat des Eingabedatenstroms verwendet.
AcXSTREAMBRIDGE muss einem Objekt zugeordnet werden, das ACXCIRCUIT als Vorgänger aufweist.
Das Beispiel für die Verwendung ist unten dargestellt.
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);
In diesem Beispiel wird gezeigt, wie Sie eine Stream-BRIDGE für die Modi RAW und DEFAULT festlegen.
//
// 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-Anforderungen
ACX-Mindestversion: 1.0
Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.
Anforderungen
Anforderung | Wert |
---|---|
Header | acxstreams.h |