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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk