Fungsi MFCreateSampleCopierMFT (mfidl.h)

Membuat instans transformasi salinan sampel.

Sintaks

HRESULT MFCreateSampleCopierMFT(
  [out] IMFTransform **ppCopierMFT
);

Parameter

[out] ppCopierMFT

Menerima penunjuk ke antarmuka IMFTransform . Pemanggil harus merilis antarmuka.

Menampilkan nilai

Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Salinan sampel adalah transformasi Media Foundation (MFT) yang menyalin data dari sampel input ke sampel output tanpa memodifikasi data. Data berikut disalin dari sampel:

  • Semua Atribut Sampel.
  • Stempel waktu dan durasi.
  • Bendera sampel (lihat IMFSample::SetSampleFlags).
  • Data di buffer media. Jika sampel input berisi beberapa buffer, data disalin ke dalam satu buffer pada sampel output.
MFT ini berguna dalam situasi berikut:
  • Satu objek alur, seperti sumber media, mengalokasikan sampel media untuk output.
  • Objek alur lain, seperti sink media, mengalokasikan sampel medianya sendiri untuk input. Misalnya, objek mungkin memerlukan buffer yang dialokasikan dari kumpulan memori khusus, seperti memori video.
Diagram berikut menunjukkan situasi ini dengan sumber media dan sink media. Diagram: Sumber Media menunjuk ke Sampel; Media Sink menunjuk ke Sampel kedua; Sampel Salinan menunjuk ke panah dari sampel pertama ke yang kedua

Agar sink media menerima data dari sumber media, data harus disalin ke dalam sampel media yang dimiliki oleh sink media. Salinan sampel dapat digunakan untuk tujuan ini.

Contoh spesifik dari sink media tersebut adalah Enhanced Video Renderer (EVR). EVR mengalokasikan sampel yang berisi buffer permukaan Direct3D, sehingga tidak dapat menerima sampel video langsung dari sumber media. Mulai dari Windows 7, pemuat topologi secara otomatis menangani kasus ini dengan menyisipkan salinan sampel antara sumber media dan EVR.

Persyaratan

   
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

Fungsi Media Foundation