Bagikan melalui


Metode CBaseRenderer.PrepareReceive

[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 PrepareReceive ini menyiapkan filter untuk merender sampel.

Sintaks

virtual HRESULT PrepareReceive(
   IMediaSample *pMediaSample
);

Parameter

pMediaSample

Arahkan ke antarmuka IMediaSample sampel.

Mengembalikan nilai

Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_FAIL
Gagal.
E_UNEXPECTED
Kesalahan tak terduga.
VFW_E_SAMPLE_REJECTED
Filter menjatuhkan sampel ini.

Keterangan

Filter memanggil metode ini dari dalam metode CBaseRenderer::Receive , sebelum merender sampel. Jika filter berjalan, metode ini menjadwalkan sampel untuk penyajian.

Jika filter sudah memiliki sampel yang tertunda, atau jika akhir aliran sudah tercapai, metode akan mengembalikan E_UNEXPECTED. Mungkin filter upstram tidak menserialisasikan panggilan streamingnya dengan benar.

Jika algoritma penjadwalan menentukan bahwa sampel harus dihilangkan (lihat CBaseRenderer::ScheduleSample), metode mengembalikan VFW_E_SAMPLE_REJECTED. Namun, metode IMemInputPin::Receive pin input tidak meneruskan kode kesalahan ini ke filter upstram, karena menghilangkan sampel bukanlah kesalahan.

Persyaratan

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

Lihat juga

Kelas CBaseRenderer