Metode CTransformInputPin.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 menerima sampel media berikutnya dalam aliran. Metode ini mengimplementasikan metode IMemInputPin::Receive .

Sintaks

HRESULT Receive(
   IMediaSample *pSample
);

Parameter

pSample

Arahkan ke antarmuka IMediaSample sampel.

Mengembalikan nilai

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

Menampilkan kode Deskripsi
S_FALSE
Pin saat ini sedang memerah; sampel ditolak.
S_OK
Berhasil.

Keterangan

Metode ini memanggil metode CBaseInputPin::Receive pin, yang memeriksa status streaming pin dan memeriksa perubahan format dalam jenis media. Kemudian memanggil metode CTransformFilter::Receive filter, yang memproses sampel dan mengirimkannya ke hilir.

Jika filter perlu mengakses sampel setelah metode ini kembali, filter harus menyimpan jumlah referensi dengan memanggil metode IUnknown::AddRef pada sampel. Misalnya, beberapa filter dekoder memerlukan sampel saat ini untuk mendekode sampel berikutnya.

Persyaratan

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