ACX_STREAM_BRIDGE_CONFIG 구조체(acxstreams.h)

AcxStreamBridge 구조체는 회로에서 스트림 생성, 스트림의 상태 전환 및 엔드포인트의 회로 스트림 세그먼트 간의 DRM 설정을 전파하는 데 사용됩니다.

구문

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;

멤버

Size

이 구조체의 길이(바이트)입니다.

Flags

ACX_STREAM_BRIDGE_CONFIG_FLAGS 열거형의 비트 OR입니다.

Type

브리지 유형을 정의하는 ACX_STREAM_BRIDGE_TYPE 열거형입니다.

InModesCount

InModes에 나열된 AUDIO_SIGNALPROCESSINGMODEs 수입니다. ACXSTREAMBRIDGE에서 입력으로 허용되는 신호 처리 모드입니다. 오디오 모드에 대한 자세한 내용은 오디오 신호 처리 모드를 참조하세요.

이 필드는 InModes 필드가 NULL로 설정된 경우에만 0일 수 있습니다.

InModes

ACXSTREAMBRIDGE에서 지원하는 AUDIO_SIGNALPROCESSINGMODE 포인터 목록에 대한 포인터입니다. 이 필드는 NULL이 될 수 있습니다. NULL GUID는 야생 카드 값이며 모든 AUDIO_SIGNALPROCESSINGMODEs 일치합니다.

입력 신호 처리 모드가 정의되지 않은 경우 ACXSTREAMBRIDGE는 모든 모드와 자동으로 일치하지 않습니다. 이 경우 입력 스트림을 스트림 브리지에 수동으로 추가하는 것은 드라이버의 입니다.

OutMode

출력 스트림의 오디오 신호 처리 모드를 정의하는 AUDIO_SIGNALPROCESSINGMODE 대한 포인터입니다. 이 필드가 NULL이면 연결된 ACXPIN에서 지원하는 경우 AUDIO_SIGNALPROCESSINGMODE_DEFAULT 사용되고, 그렇지 않으면 AUDIO_SIGNALPROCESSINGMODE_RAW 사용됩니다. 후자도 지원되지 않으면 오디오 신호 처리 모드를 지정하지 않고 출력 스트림이 만들어집니다.

OutStreamVarArguments

출력 스트림에 대한 변수 인수를 제공하는 데 사용되는 ACXOBJECTBAG 개체입니다. 이는 선택적 설정이며 NULL일 수 있습니다. ACX 개체에 대한 자세한 내용은 ACX - ACX 개체 요약을 참조하세요.

TargetStreamAttributes

ACXTARGETSTREAM 개체 특성을 정의하는 데 사용되는 WDF_OBJECT_ATTRIBUTES 구조체입니다.

설명

AcxStreamBridge는 회로에서 스트림 생성, 스트림의 상태 전환 및 엔드포인트의 회로 스트림 세그먼트 간의 DRM 설정을 전파하는 데 사용됩니다. 이 개체는 다중 회로(오디오 복합) 시나리오에서만 사용됩니다.

핀은 0개 이상의 ACXSTREAMBRIDGE와 연결할 수 있습니다. ACX는 연결된 ACXPIN의 신호 처리 모드 목록에서 스트림 신호 처리 모드 일치를 검색합니다. 검색은 첫 번째 일치 항목에서 중지됩니다.

ACX는 드라이버가 하나를 만들지 않는 경우 ACXCIRCUIT에서 ACXCIRCUIT 브리지로의 기본 ACXSTREAMBRIDGE를 만들고, 드라이버가 AcxCircuitInitDisableDefaultStreamBridgeHandling 함수를 사용하여 기본 스트림 브리지 처리를 사용하지 않도록 설정하지 않았습니다.

연결된 ACXPIN이 지정된 오디오 신호 처리 모드를 지원하는 경우 출력 스트림을 만들 때 해당 오디오 신호 처리 모드의 기본 데이터 형식이 사용됩니다.

연결된 ACXPIN이 지정된 오디오 신호 처리 모드를 지원하지 않는 경우 출력 스트림을 만들 때 입력 스트림의 데이터 형식이 사용됩니다.

ACXSTREAMBRIDGE는 ACXCIRCUIT를 상위 항목으로 사용하는 개체로 부모여야 합니다.

사용 예제는 다음과 같습니다.

        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);

이 예제에서는 RAW 및 DEFAULT 모드에 대한 STREAM BRIDGE를 설정하는 방법을 보여 줍니다.

    //
    // 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);

ACX 요구 사항

최소 ACX 버전: 1.0

ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.

요구 사항

요구 사항
헤더 acxstreams.h

추가 정보