Metode CTransformFilter.Receive
[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 Receive
menerima sampel media, memprosesnya, dan mengirimkan sampel output ke filter hilir.
Sintaks
HRESULT Receive(
IMediaSample *pSample
);
Parameter
-
pSample
-
Arahkan ke antarmuka IMediaSample pada sampel input.
Nilai kembali
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
Filter upstram harus berhenti mengirim sampel. |
|
Berhasil. |
Keterangan
Pin input filter memanggil metode ini saat menerima sampel. Metode ini memanggil metode CTransformFilter::InitializeOutputSample , yang menyiapkan sampel output baru. Kemudian memanggil metode CTransformFilter::Transform , yang harus diterapkan oleh kelas turunan. Metode Transformasi memproses data input dan menghasilkan data output.
Jika metode Transformasi mengembalikan S_FALSE, Receive
metode akan menghilangkan sampel ini. Pada sampel pertama yang dihilangkan, filter mengirimkan peristiwa EC_QUALITY_CHANGE ke manajer grafik filter. Jika tidak, jika metode Transformasi mengembalikan S_OK, filter akan memberikan sampel output. Untuk melakukannya, metode ini memanggil metode IMemInputPin::Receive pada pin input hilir.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|