structure ACX_STREAM_BRIDGE_CONFIG (acxstreams.h)
La structure AcxStreamBridge est utilisée par un circuit pour propager la création de flux, les transitions d’états du flux et les paramètres DRM entre les segments de flux de circuit du point de terminaison.
Syntaxe
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;
Membres
Size
Longueur, en octets, de cette structure.
Flags
OR au niveau du bit de ACX_STREAM_BRIDGE_CONFIG_FLAGS énumération.
Type
L’énumération ACX_STREAM_BRIDGE_TYPE qui définit le type de pont.
InModesCount
Nombre de AUDIO_SIGNALPROCESSINGMODEs répertoriés dans InModes. Il s’agit des modes de traitement du signal acceptés comme entrée par ACXSTREAMBRIDGE. Pour plus d’informations sur les modes audio, consultez Modes de traitement du signal audio.
Ce champ ne peut être égal à zéro que si le champ InModes est défini sur NULL.
InModes
Pointeur vers une liste de pointeurs AUDIO_SIGNALPROCESSINGMODE pris en charge par ACXSTREAMBRIDGE. Ce champ peut contenir la valeur NULL. Un GUID NULL est une valeur de carte générique qui correspond à n’importe quelle AUDIO_SIGNALPROCESSINGMODEs.
Si les modes de traitement du signal d’entrée ne sont pas définis, ACXSTREAMBRIDGE ne correspond automatiquement à aucun mode. Dans ce cas, il appartient au pilote d’ajouter manuellement le flux d’entrée au pont de flux.
OutMode
Pointeur vers un AUDIO_SIGNALPROCESSINGMODE qui définit le mode de traitement du signal audio du flux de sortie. Si ce champ a la valeur NULL, le AUDIO_SIGNALPROCESSINGMODE_DEFAULT est utilisé s’il est pris en charge par l’ACXPIN associé, sinon le AUDIO_SIGNALPROCESSINGMODE_RAW est utilisé. Si ce dernier n’est pas non plus pris en charge, le flux de sortie est créé sans spécifier de mode de traitement du signal audio.
OutStreamVarArguments
Et l’objet ACXOBJECTBAG utilisé pour fournir des arguments variables pour le flux de sortie. Il s’agit d’un paramètre facultatif qui peut être NULL. Pour plus d’informations sur les objets ACX, consultez ACX - Résumé des objets ACX.
TargetStreamAttributes
Une structure WDF_OBJECT_ATTRIBUTES utilisée pour définir les attributs de l’objet ACXTARGETSTREAM.
Remarques
AcxStreamBridge est utilisé par un circuit pour propager la création de flux, les transitions d’états du flux et les paramètres DRM entre les segments de flux de circuit du point de terminaison. Cet objet est utilisé uniquement dans un scénario multi-circuit (composite audio).
Une broche peut être associée à zéro, un ou plusieurs ACXSTREAMBRIDGEs. ACX recherche dans la liste des modes de traitement du signal ACXPIN associée une correspondance du mode de traitement du signal de flux. La recherche s’arrête à la première correspondance.
ACX crée un pont ACXSTREAMBRIDGE par défaut pour un pont ACXCIRCUIT vers ACXCIRCUIT si le pilote n’en crée pas et que le pilote n’a pas désactivé la gestion du pont de flux par défaut avec la fonction AcxCircuitInitDisableDefaultStreamBridgeHandling.
Si l’ACXPIN associé prend en charge le mode de traitement du signal audio spécifié, le format de données par défaut pour ce mode de traitement du signal audio est utilisé lors de la création du flux de sortie.
Si l’ACXPIN associé ne prend pas en charge le mode de traitement du signal audio spécifié, le format de données du flux d’entrée est utilisé lors de la création du flux de sortie.
ACXSTREAMBRIDGE doit être parenté d’un objet qui a ACXCIRCUIT comme ancêtre.
L’exemple d’utilisation est illustré ci-dessous.
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);
Cet exemple montre comment définir un flux BRIDGE pour les modes RAW et 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);
Configuration requise d’ACX
Version minimale d’ACX : 1.0
Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | acxstreams.h |