Fungsi MFCreateTranscodeTopology (mfidl.h)

Membuat topologi transkode parsial.

Penyusun topologi yang mendasar membuat topologi parsial dengan menghubungkan objek alur yang diperlukan: sumber, encoder, dan sink. Encoder dan sink dikonfigurasi sesuai dengan pengaturan yang ditentukan oleh pemanggil di profil transkode.

Untuk membuat objek profil transkode, panggil fungsi MFCreateTranscodeProfile dan atur atribut yang diperlukan dengan memanggil metode IMFTranscodeProfile yang sesuai.

Profil transkode yang dikonfigurasi diteruskan ke fungsi MFCreateTranscodeTopology , yang membuat topologi transkode dengan pengaturan yang sesuai. Pemanggil kemudian dapat mengatur topologi ini pada Sesi Media dan memulai sesi untuk memulai proses pengodean. Ketika Sesi Media berakhir, file yang ditranskodekan dihasilkan.

Sintaks

HRESULT MFCreateTranscodeTopology(
  [in]  IMFMediaSource      *pSrc,
  [in]  LPCWSTR             pwszOutputFilePath,
  [in]  IMFTranscodeProfile *pProfile,
  [out] IMFTopology         **ppTranscodeTopo
);

Parameter

[in] pSrc

Penunjuk ke sumber media yang merangkum file sumber yang akan ditranskodekan. Objek sumber media mengekspos antarmuka IMFMediaSource dan dapat dibuat dengan menggunakan pemecah masalah sumber. Untuk informasi selengkapnya, lihat Menggunakan Pemecah Masalah Sumber.

[in] pwszOutputFilePath

Penunjuk ke string yang dihentikan null yang berisi nama dan jalur file output yang akan dihasilkan.

[in] pProfile

Penunjuk ke profil transkode yang berisi pengaturan konfigurasi untuk aliran audio, aliran video, dan kontainer tempat file ditulis. Objek profil transkode mengekspos antarmuka IMFTranscodeProfile dan harus dibuat dengan memanggil fungsi MFCreateTranscodeProfile . Setelah objek dibuat, pemanggil harus menyediakan pengaturan konfigurasi dengan memanggil metode IMFTranscodeProfile yang sesuai.

[out] ppTranscodeTopo

Menerima penunjuk ke antarmuka IMFTopology dari objek topologi transkode. Pemanggil harus merilis antarmuka.

Nilai kembali

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

Menampilkan kode Deskripsi
S_OK
Panggilan fungsi berhasil, dan ppTranscodeTopo menerima penunjuk ke topologi transkode.
E_INVALIDARG
pwszOutputFilePath berisi karakter yang tidak valid.
MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
Tidak ada aliran yang dipilih di sumber media.
MF_E_TRANSCODE_NO_CONTAINERTYPE
Profil tidak berisi atribut MF_TRANSCODE_CONTAINERTYPE .
MF_E_TRANSCODE_NO_MATCHING_ENCODER
Untuk satu atau beberapa aliran, tidak dapat menemukan encoder yang menerima jenis media yang diberikan di profil.
MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
Profil tidak menentukan tipe media untuk aliran yang dipilih pada sumber media.

Keterangan

Misalnya kode yang menggunakan fungsi ini, lihat topik berikut:

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header mfidl.h
Pustaka Mf.lib
DLL Mf.dll

Lihat juga

IMFTopology

Fungsi Media Foundation

Topologi

API Transkode