structure ACX_STREAM_BRIDGE_CONFIG (acxstreams.h)
La structure AcxStreamBridge est utilisée par un circuit pour propager la création de flux, les états du flux passent 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
Énumération ACX_STREAM_BRIDGE_TYPE qui définit le type de pont.
InModesCount
Nombre de AUDIO_SIGNALPROCESSINGMODEs répertoriées dans InModes. Il s’agit des modes de traitement des signaux acceptés comme entrée par ACXSTREAMBRIDGE. Pour plus d’informations sur les modes audio, consultez modes de traitement de signal audio.
Ce champ ne peut être égal à zéro que si le champ InModes a la valeur NULL.
InModes
Pointeur vers une liste de pointeurs AUDIO_SIGNALPROCESSINGMODE pris en charge par ACXSTREAMBRIDGE. Ce champ peut être NULL. Un GUID NULL est une valeur générique et 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 incombe 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, la AUDIO_SIGNALPROCESSINGMODE_DEFAULT est utilisée si prise en charge par acXPIN associé, sinon la AUDIO_SIGNALPROCESSINGMODE_RAW est utilisée. Si ce dernier n’est pas pris en charge, le flux de sortie est créé sans spécifier de mode de traitement de signal audio.
OutStreamVarArguments
Et l’objet ACXOBJECTBAG utilisé pour fournir des arguments de variable pour le flux de sortie. Il s’agit d’un paramètre facultatif et peut être NULL. Pour plus d’informations sur les objets ACX, consultez ACX - Résumé des objets ACX.
TargetStreamAttributes
Structure WDF_OBJECT_ATTRIBUTES utilisée pour définir les attributs d’objet ACXTARGETSTREAM.
Remarques
AcxStreamBridge est utilisé par un circuit pour propager la création de flux, les états du flux passent 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, une ou plusieurs ACXSTREAMBRIDGEs. ACX recherche la correspondance du mode de traitement du signal d’ACXPIN associée pour obtenir une correspondance du mode de traitement du signal de flux. La recherche s’arrête à la première correspondance.
ACX crée un ACXSTREAMBRIDGE par défaut pour un pont ACXCIRCUIT vers ACXCIRCUIT si le pilote ne en crée pas, et le pilote n’a pas désactivé la gestion du pont de flux par défaut avec la fonction AcxCircuitInitDisableDefaultStreamHandling.
Si 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 de signal audio est utilisé lors de la création du flux de sortie.
Si 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 pont de flux 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 pour ACX
version minimale d’ACX : 1.0
Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | acxstreams.h |