estructura ACX_STREAM_BRIDGE_CONFIG (acxstreams.h)
La estructura AcxStreamBridge la usa un circuito para propagar la creación de flujos, las transiciones de estados de la secuencia y la configuración de DRM entre los segmentos de flujo de circuito del punto de conexión.
Sintaxis
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;
Miembros
Size
Longitud, en bytes, de esta estructura.
Flags
OR bit a bit de ACX_STREAM_BRIDGE_CONFIG_FLAGS enumeración.
Type
Enumeración ACX_STREAM_BRIDGE_TYPE que define el tipo de puente.
InModesCount
Número de AUDIO_SIGNALPROCESSINGMODEs enumerados en InModes. Estos son los modos de procesamiento de señal aceptados como entrada por ACXSTREAMBRIDGE. Para obtener más información sobre los modos de audio, consulte Modos de procesamiento de señal de audio.
Este campo solo puede ser cero si el campo InModes está establecido en NULL.
InModes
Puntero a una lista de punteros de AUDIO_SIGNALPROCESSINGMODE compatibles con ACXSTREAMBRIDGE. Este campo puede ser NULL. Un GUID NULL es un valor de comodín y coincide con cualquier AUDIO_SIGNALPROCESSINGMODEs.
Si no se definen los modos de procesamiento de señal de entrada, ACXSTREAMBRIDGE no coincide automáticamente con ningún modo. En este caso, es necesario que el controlador agregue manualmente la secuencia de entrada al puente de flujo.
OutMode
Puntero a una AUDIO_SIGNALPROCESSINGMODE que define el modo de procesamiento de señal de audio de la secuencia de salida. Si este campo es NULL, se usa el AUDIO_SIGNALPROCESSINGMODE_DEFAULT si es compatible con el ACXPIN asociado, de lo contrario se usa el AUDIO_SIGNALPROCESSINGMODE_RAW. Si tampoco se admite este último, la secuencia de salida se crea sin especificar un modo de procesamiento de señal de audio.
OutStreamVarArguments
Y el objeto ACXOBJECTBAG que se usa para proporcionar argumentos de variable para el flujo de salida. Se trata de una configuración opcional y puede ser NULL. Para obtener más información sobre los objetos ACX, vea ACX : resumen de objetos ACX.
TargetStreamAttributes
Estructura WDF_OBJECT_ATTRIBUTES que se usa para definir los atributos del objeto ACXTARGETSTREAM.
Comentarios
AcxStreamBridge lo usa un circuito para propagar la creación de flujos, las transiciones de estados de la secuencia y la configuración de DRM entre los segmentos de flujo de circuito del punto de conexión. Este objeto solo se usa en un escenario de varios circuitos (compuestos de audio).
Un pin se puede asociar a cero, uno o varios ACXSTREAMBRIDGEs. ACX busca en la lista de modo de procesamiento de señales de ACXPIN asociada una coincidencia del modo de procesamiento de señales de flujo. La búsqueda se detiene en la primera coincidencia.
ACX crea un ACXSTREAMBRIDGE predeterminado para un puente ACXCIRCUIT a ACXCIRCUIT si el controlador no crea uno y el controlador no deshabilite el control predeterminado del puente de flujo con la función AcxCircuitInitDisableDefaultStreamBridgeHandling.
Si el ACXPIN asociado admite el modo de procesamiento de señal de audio especificado, se usa el formato de datos predeterminado para ese modo de procesamiento de señal de audio al crear la secuencia de salida.
Si el ACXPIN asociado no admite el modo de procesamiento de señal de audio especificado, se usa el formato de datos de la secuencia de entrada al crear el flujo de salida.
ACXSTREAMBRIDGE debe estar primario en un objeto que tenga ACXCIRCUIT como antecesor.
A continuación se muestra el uso de ejemplo.
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);
En este ejemplo se muestra cómo establecer una secuencia BRIDGE para los modos RAW y 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);
Requisitos de ACX
Versión mínima de ACX: 1.0
Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.
Requisitos
Requisito | Valor |
---|---|
Header | acxstreams.h |