Bagikan melalui


Metode CPullPin.Receive

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan 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 Pengambilan Audio/Video 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 Receive ini dipanggil ketika objek menerima sampel media dari pin output. Kelas turunan harus menerapkan metode ini.

Sintaks

virtual HRESULT Receive(
   IMediaSample *pSample
) = 0;

Parameter

pSample

Arahkan ke antarmuka IMediaSample dari sampel media.

Nilai kembali

Mengembalikan nilai HRESULT . Mengembalikan nilai selain S_OK akan menghentikan utas penarikan data.

Keterangan

Metode ini dipanggil setiap kali sampel baru tiba dari pin output. Tulis metode ini dengan cara yang sama seperti metode IMemInputPin::Receive .

Stempel waktu pada sampel menentukan offset byte, relatif terhadap posisi awal asli yang ditentukan dalam metode CPullPin::Seek .

Posisi mulai dibulatkan ke bawah ke batas perataan terdekat, dan posisi berhenti dibulatkan ke atas ke batas perataan terdekat. Selain itu, jika posisi berhenti melebihi total durasi, durasi digunakan sebagai gantinya.

Semua stempel waktu diberikan sebagai offset byte dikalikan dengan 10.000.000, didefinisikan sebagai UNITS konstanta. Dengan demikian, secara gagasan satu detik adalah satu byte. Untuk menemukan offset byte aktual, panggil IMediaSample::GetTime dan bagi hasilnya dengan UNITS.

Persyaratan

Persyaratan Nilai
Header
Pullpin.h
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

Kelas CPullPin