struttura ACX_STREAM_BRIDGE_CONFIG (acxstreams.h)
La struttura acxStreamBridge viene usata da un circuito per propagare la creazione del flusso, gli stati del flusso e le impostazioni DRM tra i segmenti del flusso di circuito dell'endpoint.
Sintassi
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;
Membri
Size
Lunghezza, in byte, di questa struttura.
Flags
OR bit per bit di ACX_STREAM_BRIDGE_CONFIG_FLAGS enumerazione.
Type
Enumerazione ACX_STREAM_BRIDGE_TYPE che definisce il tipo di bridge.
InModesCount
Numero di AUDIO_SIGNALPROCESSINGMODEs elencato in InModes. Si tratta delle modalità di elaborazione dei segnali accettate come input da ACXSTREAMBRIDGE. Per altre informazioni sulle modalità audio, vedere modalità di elaborazione del segnale audio.
Questo campo può essere zero solo se il campo InModes è impostato su NULL.
InModes
Puntatore a un elenco di puntatori AUDIO_SIGNALPROCESSINGMODE supportati da ACXSTREAMBRIDGE. Questo campo può essere NULL. Un GUID NULL è un valore jolly e corrisponde a qualsiasi AUDIO_SIGNALPROCESSINGMODEs.
Se le modalità di elaborazione del segnale di input non sono definite, ACXSTREAMBRIDGE non corrisponde automaticamente ad alcuna modalità. In questo caso, spetta al driver aggiungere manualmente il flusso di input al bridge di flusso.
OutMode
Puntatore a un AUDIO_SIGNALPROCESSINGMODE che definisce la modalità di elaborazione del segnale audio del flusso di output. Se questo campo è NULL, il AUDIO_SIGNALPROCESSINGMODE_DEFAULT viene usato se supportato dall'ACXPIN associato; in caso contrario, viene usato il AUDIO_SIGNALPROCESSINGMODE_RAW. Se anche quest'ultimo non è supportato, il flusso di output viene creato senza specificare una modalità di elaborazione del segnale audio.
OutStreamVarArguments
E l'oggetto ACXOBJECTBAG usato per fornire argomenti variabili per il flusso di output. Si tratta di impostazioni facoltative e può essere NULL. Per altre informazioni sugli oggetti ACX, vedere ACX - Summary of ACX Objects.
TargetStreamAttributes
Struttura WDF_OBJECT_ATTRIBUTES utilizzata per definire gli attributi dell'oggetto ACXTARGETSTREAM.
Osservazioni
AcxStreamBridge viene usato da un circuito per propagare la creazione del flusso, gli stati del flusso e le impostazioni DRM tra i segmenti del flusso di circuito dell'endpoint. Questo oggetto viene usato solo in uno scenario multi circuito (composito audio).
Un pin può essere associato a zero, uno o più ACXSTREAMBRIDGEs. ACX esegue una ricerca nell'elenco della modalità di elaborazione dei segnali associato nell'elenco della modalità di elaborazione dei segnali di flusso. La ricerca si interrompe alla prima corrispondenza.
ACX crea un'istanza predefinita di ACXSTREAMBRIDGE per un bridge ACXCIRCUIT a ACXCIRCUIT se il driver non ne crea uno e il driver non ha disabilitato la gestione predefinita del bridge di flusso con la funzione AcxCircuitInitDisableDefaultStreamBridgeHandling.
Se ACXPIN associato supporta la modalità di elaborazione del segnale audio specificata, viene usato il formato dati predefinito per la modalità di elaborazione del segnale audio durante la creazione del flusso di output.
Se ACXPIN associato non supporta la modalità di elaborazione del segnale audio specificata, il formato di dati del flusso di input viene usato durante la creazione del flusso di output.
AcXSTREAMBRIDGE deve essere padre di un oggetto con ACXCIRCUIT come predecessore.
Di seguito è riportato un esempio di utilizzo.
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);
Questo esempio illustra come impostare un flusso BRIDGE per le modalità RAW e 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);
Requisiti ACX
versione minima di ACX: 1.0
Per altre informazioni sulle versioni di ACX, vedere panoramica della versione ACX.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | acxstreams.h |