Metode IMFTransform::SetOutputType (mftransform.h)

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

Sintaks

HRESULT SetOutputType(
  [in] DWORD        dwOutputStreamID,
  [in] IMFMediaType *pType,
  [in] DWORD        dwFlags
);

Parameter

[in] dwOutputStreamID

Pengidentifikasi aliran output. 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
Transformasi 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 bendera yang saling bertentangan.
MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING
MFT tidak dapat beralih jenis saat memproses data. Coba menguras atau membersihkan MFT.
MF_E_TRANSFORM_TYPE_NOT_SET
Anda harus mengatur jenis input sebelum mengatur jenis output.
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, jenis 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 input sebelum mengatur jenis output. 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 ditentukan sebelum menyertakan mftransform.h, metode ini diganti namanya menjadi MFTSetOutputType. 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