Bagikan melalui


METODE IMFMediaSink::SetPresentationClock (mfidl.h)

Mengatur jam presentasi pada sink media.

Sintaks

HRESULT SetPresentationClock(
  [in] IMFPresentationClock *pPresentationClock
);

Parameter

[in] pPresentationClock

Arahkan ke antarmuka IMFPresentationClock dari jam presentasi, atau NULL. Jika nilainya NULL, sink media berhenti mendengarkan jam presentasi yang sebelumnya diatur, jika ada.

Menampilkan nilai

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_CLOCK_NO_TIME_SOURCE
Jam presentasi tidak memiliki sumber waktu. Panggil SetTimeSource pada jam presentasi.
MF_E_SHUTDOWN
Metode Matikan sink media telah dipanggil.

Keterangan

Selama streaming, sink media mencoba mencocokkan tarif dengan jam presentasi. Idealnya, sink media menyajikan sampel pada waktu yang benar sesuai dengan jam presentasi dan tidak tertinggal. Sink media tanpa tarif adalah pengecualian untuk aturan ini, karena mereka mengonsumsi sampel secepat mungkin dan mengabaikan jam. Jika sink tidak memiliki tarif, metode IMFMediaSink::GetCharacteristics mengembalikan bendera MEDIASINK_RATELESS.

Jam presentasi harus memiliki sumber waktu. Sebelum memanggil metode ini, panggil IMFPresentationClock::SetTimeSource pada jam presentasi untuk mengatur sumber waktu presentasi. Beberapa sink media menyediakan sumber waktu; oleh karena itu, sink media mungkin menjadi sumber waktu untuk jam presentasinya sendiri. Terlepas dari objek apa yang menyediakan sumber waktu, bagaimanapun, sink media harus mencoba mencocokkan tarif dengan jam yang ditentukan dalam pPresentationClock. Jika sink media tidak dapat mencocokkan laju dengan sumber waktu eksternal, metode IMFMediaSink::GetCharacteristics media mengambil bendera MEDIASINK_CANNOT_MATCH_CLOCK. Dalam hal ini, SetPresentationClock masih akan berhasil, tetapi hasilnya tidak akan optimal. Sink mungkin tidak merender sampel dengan cukup cepat untuk mencocokkan laju dengan jam presentasi.

Jika pPresentationClocknon-NULL, sink media harus mendaftar untuk pemberitahuan status jam, dengan memanggil IMFPresentationClock::AddClockStateSink pada jam presentasi. Jika metode dipanggil lagi dengan jam presentasi baru, atau jika pPresentationClockADALAH NULL, sink media harus memanggil IMFPresentationClock::RemoveClockStateSink untuk membatalkan pendaftaran dirinya dari jam sebelumnya.

Semua sink media harus mendukung metode ini.

Persyaratan

   
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 mfidl.h
Pustaka Mfuuid.lib

Lihat juga

IMFMediaSink

Sink Media

Jam Presentasi