Bagikan melalui


Metode IMediaFilter::SetSyncSource (strmif.h)

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Audio/Video Capture di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Metode SetSyncSource mengatur jam referensi.

Sintaks

HRESULT SetSyncSource(
  [in] IReferenceClock *pClock
);

Parameter

[in] pClock

Arahkan ke antarmuka IReferenceClock jam, atau NULL. Jika parameter ini NULL, grafik filter tidak menggunakan jam referensi, dan semua filter berjalan secepat mungkin.

Mengembalikan nilai

Mengembalikan S_OK jika berhasil, atau nilai HRESULT yang menunjukkan penyebab kesalahan.

Keterangan

Semua filter dalam grafik filter berbagi jam referensi yang sama, agar tetap disinkronkan. Waktu streaming dihitung dari jam referensi. Filter perender menggunakan jam referensi untuk menjadwalkan saat merender sampel. Jika tidak ada jam referensi, filter perender merender setiap sampel segera setelah tiba.

Metode ini diimplementasikan oleh semua filter DirectShow, dan juga oleh Filter Graph Manager.

Implementasi Filter

Saat grafik berjalan, manajer Filter Graph memanggil metode ini pada setiap filter dalam grafik, untuk memberi tahu mereka tentang jam referensi grafik. Gunakan metode ini untuk menyimpan penunjuk IReferenceClock . Tingkatkan jumlah referensi pada penunjuk yang disimpan. Sebelum filter dihapus dari grafik, Filter Graph Manager memanggil SetSyncSource lagi dengan nilai NULL. Lepaskan pointer yang disimpan dan atur ke NULL.

Kelas CBaseFilter mengimplementasikan metode ini; lihat CBaseFilter::SetSyncSource.

Perhatikan bahwa filter tidak dapat menggunakan metode ini untuk memilih jam grafik. Dalam filter, satu-satunya fungsi metode ini adalah menginformasikan filter jam yang digunakan grafik. Filter dapat menyediakan jam referensi dengan mengekspos antarmuka IReferenceClock . Untuk informasi selengkapnya, lihat Waktu dan Jam di DirectShow.

Penggunaan Aplikasi

Aplikasi dapat mengganti jam default dengan memanggil SetSyncSource pada Filter Graph Manager. Jangan lakukan ini kecuali Anda memiliki alasan tertentu untuk lebih memilih jam lain. Anda juga dapat mengatur grafik untuk tidak menggunakan jam referensi apa pun, dengan memanggil SetSyncSource dengan nilai NULL. Anda dapat melakukan ini untuk memproses sampel secepat mungkin. Untuk informasi selengkapnya, lihat Mengatur Jam Grafik.

Aplikasi tidak boleh memanggil metode ini pada filter.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header strmif.h (termasuk Dshow.h)
Pustaka Strmiids.lib

Lihat juga

Kode Kesalahan dan Keberhasilan

IFilterGraph::SetDefaultSyncSource

Antarmuka IMediaFilter