ACX_STREAM_BRIDGE_CONFIG struttura (acxstreams.h)
La struttura AcxStreamBridge viene usata da un circuito per propagare la creazione del flusso, le transizioni degli stati del flusso e le impostazioni DRM tra i segmenti di flusso del 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;
Members
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 ponte.
InModesCount
Numero di AUDIO_SIGNALPROCESSINGMODEs elencato in InModes. Queste sono le 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 a nessuna modalità. In questo caso, è necessario 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, viene usato il AUDIO_SIGNALPROCESSINGMODE_DEFAULT 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 un'impostazione facoltativa e può essere NULL. Per altre informazioni sugli oggetti ACX, vedere ACX - Riepilogo degli oggetti ACX.
TargetStreamAttributes
Struttura WDF_OBJECT_ATTRIBUTES utilizzata per definire gli attributi dell'oggetto ACXTARGETSTREAM.
Commenti
AcxStreamBridge viene usato da un circuito per propagare la creazione del flusso, le transizioni degli stati del flusso e le impostazioni DRM tra i segmenti di flusso del 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 cerca l'elenco della modalità di elaborazione del segnale associato per una corrispondenza della modalità di elaborazione del segnale di flusso. La ricerca si arresta alla prima corrispondenza.
ACX crea un bridge ACXSTREAMBRIDGE predefinito per un bridge ACXCIRCUIT a ACXCIRCUIT se il driver non crea uno e il driver non disabilita la gestione predefinita del bridge di flusso con la funzione AcxCircuitInitDisableDefaultStreamBridgeHandling.
Se ACXPIN associato supporta la modalità di elaborazione del segnale audio specificata, il formato di dati predefinito per tale modalità di elaborazione del segnale audio viene usato durante la creazione del flusso di output.
Se ACXPIN associato non supporta la modalità di elaborazione del segnale audio specificato, 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 l'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);
In questo esempio viene illustrato come impostare un bridge di flusso 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 ACX, vedere Panoramica della versione di ACX.
Requisiti
Requisito | Valore |
---|---|
Intestazione | acxstreams.h |