struktur ACX_STREAM_BRIDGE_CONFIG (acxstreams.h)

Struktur AcxStreamBridge digunakan oleh sirkuit untuk menyebarluaskan pembuatan aliran, status aliran beralih dan pengaturan DRM antara segmen aliran sirkuit titik akhir.

Sintaks

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;

Anggota

Size

Panjangnya, dalam byte, dari struktur ini.

Flags

Bitwise ATAU enum ACX_STREAM_BRIDGE_CONFIG_FLAGS .

Type

Enum ACX_STREAM_BRIDGE_TYPE yang mendefinisikan jenis jembatan.

InModesCount

Jumlah AUDIO_SIGNALPROCESSINGMODEs yang tercantum di InModes. Ini adalah mode pemrosesan sinyal yang diterima sebagai input oleh ACXSTREAMBRIDGE. Untuk informasi selengkapnya tentang mode audio, lihat Mode Pemrosesan Sinyal Audio.

Bidang ini bisa nol hanya jika bidang InModes diatur ke NULL.

InModes

Pointer ke daftar pointer AUDIO_SIGNALPROCESSINGMODE yang didukung oleh ACXSTREAMBRIDGE. Bidang ini bisa NULL. NULL GUID adalah nilai kartubebas dan cocok dengan AUDIO_SIGNALPROCESSINGMODEs apa pun.

Jika mode pemrosesan sinyal input tidak ditentukan, ACXSTREAMBRIDGE tidak secara otomatis cocok dengan mode apa pun. Dalam hal ini, terserah driver untuk menambahkan aliran input secara manual ke jembatan aliran.

OutMode

Pointer ke AUDIO_SIGNALPROCESSINGMODE yang menentukan mode pemrosesan sinyal audio dari aliran output. Jika bidang ini NULL, AUDIO_SIGNALPROCESSINGMODE_DEFAULT digunakan jika didukung oleh ACXPIN terkait, jika tidak, AUDIO_SIGNALPROCESSINGMODE_RAW digunakan. Jika juga yang terakhir tidak didukung, aliran output dibuat tanpa menentukan mode pemrosesan sinyal audio.

OutStreamVarArguments

Dan objek ACXOBJECTBAG yang digunakan untuk menyediakan argumen variabel untuk aliran output. Ini adalah pengaturan opsional dan dapat berupa NULL. Untuk informasi selengkapnya tentang Objek ACX, lihat ACX - Ringkasan Objek ACX.

TargetStreamAttributes

Struktur WDF_OBJECT_ATTRIBUTES yang digunakan untuk menentukan atribut objek ACXTARGETSTREAM.

Keterangan

AcxStreamBridge digunakan oleh sirkuit untuk menyebarluaskan pembuatan aliran, transisi status aliran, dan pengaturan DRM antara segmen aliran sirkuit titik akhir. Objek ini hanya digunakan dalam skenario multi-sirkuit (komposit audio).

Pin dapat dikaitkan dengan nol, satu atau beberapa ACXSTREAMBRIDGEs. ACX mencari daftar mode pemrosesan sinyal ACXPIN terkait untuk kecocokan mode pemrosesan sinyal aliran. Pencarian berhenti pada kecocokan pertama.

ACX membuat ACXSTREAMBRIDGE default untuk penghubung ACXCIRCUIT ke ACXCIRCUIT jika driver tidak membuatnya, dan driver tidak menonaktifkan penanganan jembatan aliran default dengan fungsi AcxCircuitInitDisableDefaultStreamBridgeHandling.

Jika ACXPIN terkait mendukung mode pemrosesan sinyal audio yang ditentukan, format data default untuk mode pemrosesan sinyal audio tersebut digunakan saat membuat aliran output.

Jika ACXPIN terkait tidak mendukung mode pemrosesan sinyal audio yang ditentukan, format data aliran input digunakan saat membuat aliran output.

ACXSTREAMBRIDGE harus diinduk ke objek yang memiliki ACXCIRCUIT sebagai leluhur.

Contoh penggunaan ditunjukkan di bawah ini.

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

Contoh ini menunjukkan cara mengatur stream BRIDGE untuk mode RAW dan 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);

Persyaratan ACX

Versi ACX minimum: 1.0

Untuk informasi selengkapnya tentang versi ACX, lihat Gambaran umum versi ACX.

Persyaratan

Persyaratan Nilai
Header acxstreams.h

Lihat juga