Metode IMFTransform::SetInputType (mftransform.h)

Mengatur, menguji, atau menghapus jenis media untuk aliran input pada transformasi Media Foundation (MFT) ini.

Sintaks

HRESULT SetInputType(
  [in] DWORD        dwInputStreamID,
  [in] IMFMediaType *pType,
  [in] DWORD        dwFlags
);

Parameter

[in] dwInputStreamID

Pengidentifikasi aliran input. Untuk mendapatkan daftar pengidentifikasi aliran, panggil IMFTransform::GetStreamIDs.

[in] pType

Arahkan ke antarmuka IMFMediaType , atau NULL.

[in] dwFlags

Nol atau lebih bendera dari enumerasi _MFT_SET_TYPE_FLAGS .

Nilai kembali

Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
MF_E_INVALIDMEDIATYPE
MFT tidak dapat menggunakan tipe media yang diusulkan.
MF_E_INVALIDSTREAMNUMBER
Pengidentifikasi aliran tidak valid.
MF_E_INVALIDTYPE
Tipe yang diusulkan tidak valid. Kode kesalahan ini menunjukkan bahwa jenis media itu sendiri tidak dikonfigurasi dengan benar; misalnya, mungkin berisi atribut yang saling bertentangan.
MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING
MFT tidak dapat beralih jenis saat memproses data. Coba menguras atau menyiram MFT.
MF_E_TRANSFORM_TYPE_NOT_SET
Anda harus mengatur jenis output sebelum mengatur jenis input.
MF_E_UNSUPPORTED_D3D_TYPE
MFT tidak dapat menemukan konfigurasi DirectX Video Acceleration (DXVA) yang sesuai.

Keterangan

Metode ini dapat digunakan untuk mengatur, menguji tanpa pengaturan, atau menghapus jenis media:

  • Untuk mengatur jenis media, atur dwFlags ke nol dan atur pType ke pointer non-NULL yang menentukan jenis media.
  • Untuk menguji jenis media tanpa mengaturnya, atur dwFlags ke MFT_SET_TYPE_TEST_ONLY dan atur pType ke pointer non-NULL yang menentukan jenis media. Jika jenis media dapat diterima, metode akan mengembalikan S_OK. Jika tidak, ia mengembalikan MF_E_INVALIDMEDIATYPE. Terlepas dari nilai yang dikembalikan, tipe media saat ini tidak berubah.
  • Untuk menghapus jenis media, atur pType ke NULL.
Mengatur jenis media pada satu aliran dapat mengubah jenis yang dapat diterima pada aliran lain.

MFT mungkin mengharuskan pemanggil untuk mengatur satu atau beberapa jenis output sebelum mengatur jenis input. Jika demikian, metode mengembalikan MF_E_TRANSFORM_TYPE_NOT_SET.

Jika MFT mendukung DirectX Video Acceleration (DXVA) tetapi tidak dapat menemukan konfigurasi DXVA yang sesuai (misalnya, jika driver grafis tidak memiliki kemampuan yang tepat), metode harus mengembalikan MF_E_UNSUPPORTED_D3D_TYPE. Untuk informasi selengkapnya, lihat Mendukung DXVA 2.0 di Media Foundation.

Jika MFT_UNIQUE_METHOD_NAMES didefinisikan sebelum menyertakan mftransform.h, metode ini diganti namanya menjadi MFTSetInputType. Lihat Membuat Objek DMO/MFT Hibrid.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header mftransform.h
Pustaka Mfuuid.lib

Lihat juga

IMFTransform

Transformasi Media Foundation