Share via


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

Consulte también