atribut MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES

Menentukan apakah pemuat topologi menghitung jenis media yang disediakan oleh sumber media.

Jenis data

UINT32

Gunakan salah satu nilai berikut.

Value Makna
SALAH
Jangan menghitung jenis media sumber.
BENAR
Menghitung jenis media sumber.

 

Dapatkan/atur

Untuk mendapatkan atribut ini, panggil IMFAttributes::GetUINT32.

Untuk mengatur atribut ini, panggil IMFAttributes::SetUINT32.

Berlaku untuk

IMFTopology

Keterangan

Setiap aliran pada sumber media dapat menawarkan lebih dari satu jenis media. Daftar jenis dijumlahkan melalui antarmuka IMFMediaTypeHandler pada deskriptor aliran.

Urutan di mana pemuat topologi mencoba jenis media sumber media dikontrol oleh dua atribut:

Jika atribut MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES FALSE atau tidak diatur, pemuat topologi menggunakan jenis media aliran saat ini. Ini tidak menghitung daftar jenis yang mungkin. Jika jenis media saat ini tidak kompatibel dengan node topologi hilir, dan tidak ada kombinasi dekoder/konverter yang dapat ditemukan, resolusi topologi gagal.

Jika atribut MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES TRUE, pemuat topologi menghitung jenis media sumber hingga menemukan jenis yang kompatibel. Dalam hal ini, urutan operasi yang tepat tergantung pada apakah atribut MF_TOPONODE_CONNECT_METHOD pada simpul sumber menyertakan bendera MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES.

Jika MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES TRUE dan bendera MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES diatur, pemuat topologi menghabiskan setiap jenis media sebelum pindah ke yang berikutnya, sebagai berikut:

foreach media type T
    connect directly using T
    if failed, connect with converters using T
    if failed, connect with decoders using T

Jika MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES TRUE tetapi MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES tidak diatur, pemuat topologi mencoba koneksi langsung dengan setiap jenis media, lalu mencoba setiap jenis media dengan pengonversi, dan akhirnya mencoba setiap jenis media dengan dekode:

foreach media type T
    connect directly using T
if failed,
    foreach media type T
        connect with converters using T
if failed
    foreach media type T
        connect with decoders using T

Jika MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES FALSE, bendera MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES diabaikan.

Nilai default MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES adalah FALSE, untuk kompatibilitas dengan aplikasi yang ada.

Konstanta GUID untuk atribut ini diekspor dari mfuuid.lib.

Contoh

Berikut adalah contoh yang mengilustrasikan bendera MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES . Asumsikan topologi memiliki atribut MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES diatur ke TRUE.

Sumber media menawarkan jenis berikut:

  • T1, T2, T3

Sink media menerima jenis berikut:

  • T3, T4

Kasus 1: Bendera MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES diatur.

  1. Pemuat topologi mencoba koneksi langsung dengan T1. Wastafel menolak T1.
  2. Pemuat topologi menyisipkan dekoder yang menerima T1 dan output T4. Wastafel menerima T4.
  3. Topologi akhir berisi: sumber media → dekoder → sink media.

Kasus 2: Bendera tidak diatur.

  1. Pemuat topologi mencoba koneksi langsung dengan T1. Wastafel menolak T1.
  2. Pemuat topologi mencoba koneksi langsung dengan T2. Sink menolak T2.
  3. Pemuat topologi mencoba koneksi langsung dengan T3. Wastafel menerima T3.
  4. Topologi akhir berisi: sumber media → sink media.

Persyaratan

Persyaratan Value
Klien minimum yang didukung
Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 R2 [hanya aplikasi desktop]
Header
Mfidl.h

Baca juga

Daftar Alfabet Atribut Media Foundation

Atribut Topologi