enumerasi MF_TRANSCODE_ADJUST_PROFILE_FLAGS (mfidl.h)

Menentukan bendera profil yang diatur dalam atribut MF_TRANSCODE_ADJUST_PROFILE .

Bendera ini diperiksa oleh MFCreateTranscodeTopology selama pembuatan topologi. Berdasarkan bendera ini, MFCreateTranscodeTopology menyesuaikan profil transkode dengan memodifikasi pengaturan konfigurasi untuk aliran sesuai dengan persyaratan input encoder yang digunakan dalam topologi.

Untuk informasi selengkapnya tentang pengaturan aliran yang dapat ditentukan aplikasi, lihat Menggunakan API Transcode.

Sintaks

typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS {
  MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
  MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;

Konstanta

 
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT
Nilai: 0
Media Foundation menggunakan pengaturan yang ditentukan aplikasi untuk aliran audio dan video. Jika pengaturan yang diperlukan tidak disediakan oleh aplikasi, topologi dibuat tetapi sesi pengodean gagal. Untuk streaming video, kecepatan bingkai dan pengaturan mode interlace dimodifikasi. Untuk informasi selengkapnya, lihat Keterangan.
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES
Nilai: 1
Untuk aliran audio dan video, pengaturan streaming yang hilang diisi dengan menyalin atribut sumber input. Bendera ini memastikan file output yang ditranskodekan adalah yang paling cocok dengan file input.

Keterangan

Jika bendera MF_TRANSCODE_ADJUST_PROFILE_DEFAULT ditentukan, perubahan berikut dibuat untuk streaming video:

  • Jika kecepatan bingkai sumber media yang ditentukan dalam parameter pSrcMFCreateTranscodeTopology dan kecepatan bingkai yang ditentukan oleh aplikasi dalam atribut MF_MT_FRAME_RATE berbeda dengan kurang dari 1/1000, profil menggunakan kecepatan bingkai sumber media. Ini karena alur menganggap perbedaannya dapat diabaikan.
  • Jika aplikasi tidak menentukan mode terjalin dengan mengatur atribut MF_MT_INTERLACE_MODE , profil diubah untuk menggunakan bingkai progresif.
Bendera MF_TRANSCODE_ADJUST_PROFILE_DEFAULT harus disertai dengan atribut aliran audio dan video yang diperlukan yang disediakan oleh aplikasi. Untuk aliran audio, atribut yang diperlukan adalah sebagai berikut: Untuk streaming video, atribut yang diperlukan adalah sebagai berikut: Jika atribut ini tidak diatur, MFCreateTranscodeTopology membuat topologi tetapi Sesi Media gagal menghasilkan file yang dikodekan. Kode kegagalan tergantung pada simpul MFT dalam topologi. Misalnya, jika aplikasi tidak mengatur ukuran bingkai, encoder WMV gagal mengodekan konten dan aplikasi mendapatkan kode kesalahan MF_E_INVALIDMEDIATYPE melalui Sesi Media.

Gunakan bendera MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES saat Anda ingin mentranskode file dengan menggunakan atribut aliran input. Atribut aliran sumber input disalin ke jenis media output sebelum simpul MFT dimasukkan dalam topologi. Jika Anda mengatur atribut stream tambahan, bendera ini tidak menimpa nilai yang ditetapkan. Hanya atribut yang hilang yang diisi dengan nilai atribut sumber input. Bendera ini berguna dalam skenario remux di mana Anda ingin menghasilkan file output dalam format yang sama dengan sumber input. Jika Anda ingin melakukan konversi format, pastikan Anda mengatur atribut MF_MT_SUBTYPE untuk aliran guna menentukan encoder yang harus digunakan penyusun topologi. Simpul transformasi ditambahkan dalam topologi kecuali MF_TRANSCODE_DONOT_INSERT_ENCODER diatur. Dalam hal ini, dan konten tidak dikodekan. Sebaliknya, jika diizinkan oleh kontainer, konten disematkan dalam kontainer yang ditentukan.

Misalnya, asumsikan bahwa sumber input Anda adalah file MP3. Anda mengatur kontainer menjadi MFTranscodeContainerType_ASF, Anda tidak mengatur atribut streaming apa pun, dan Anda mengatur bendera MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES . Dalam hal ini, file output yang dihasilkan adalah file ASF (.wma) yang berisi data media MP3. Perhatikan bahwa jika Anda menggunakan bendera ini, atribut aliran input tertentu dan jenis kontainer mungkin tidak kompatibel.

Persyaratan

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

Lihat juga

Enumerasi Media Foundation

API Transkode