Bagikan melalui


Metode CBaseRenderer.GetSampleTimes

[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 ini GetSampleTimes mengambil stempel waktu dari sampel.

Sintaks

virtual HRESULT GetSampleTimes(
   IMediaSample   *pMediaSample,
   REFERENCE_TIME *pStartTime,
   REFERENCE_TIME *pEndTime
);

Parameter

pMediaSample

Arahkan ke antarmuka IMediaSample sampel.

pStartTime

Penunjuk ke variabel yang menerima waktu mulai.

pEndTime

Penunjuk ke variabel yang menerima waktu akhir.

Nilai kembali

Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang diperlihatkan dalam tabel berikut ini.

Menampilkan kode Deskripsi
S_OK
Sampel harus segera dirender.
S_FALSE
Sampel harus dijadwalkan untuk penyajian, berdasarkan stempel waktu.
E_FAIL
Jangan render sampel ini.
VFW_E_START_TIME_AFTER_END
Stempel waktu buruk: Waktu akhir lebih awal dari waktu mulai.

Keterangan

Filter memanggil metode ini untuk menentukan bagaimana metode harus menangani sampel. Jika nilai yang dikembalikan S_OK, filter akan segera merender sampel. Jika nilai yang dikembalikan S_FALSE, filter menjadwalkan sampel untuk penyajian, berdasarkan stempel waktu. Jika nilai yang dikembalikan adalah kode kesalahan, filter akan menolak sampel.

Metode ini mengembalikan S_OK jika sampel tidak memiliki stempel waktu, atau jika filter tidak memiliki jam referensi. Jika tidak, ia mengembalikan nilai metode CBaseRenderer::ShouldDrawSampleNow . Di kelas dasar, ShouldDrawSampleNow selalu mengembalikan S_FALSE. Kelas turunan dapat mengambil alih perilaku ini. Misalnya, jika kelas turunan menerapkan manajemen kontrol kualitas, kelas tersebut mungkin mengembalikan E_FAIL untuk menghilangkan sampel.

Persyaratan

Persyaratan Nilai
Header
Renbase.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

Kelas CBaseRenderer