IMemInputPin::Metode penerimaan (strmif.h)
[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 berikutnya di aliran.
Sintaks
HRESULT Receive(
[in] IMediaSample *pSample
);
Parameter
[in] pSample
Arahkan ke antarmuka IMediaSample sampel.
Mengembalikan nilai
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang diperlihatkan dalam tabel berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Sampel ditolak. |
|
Argumen penunjuk NULL. |
|
Tipe media tidak valid. |
|
Terjadi kesalahan run-time. |
|
Pin dihentikan. |
Keterangan
Metode ini sinkron dan mungkin memblokir. Pin melakukan salah satu hal berikut:
- Menolak sampel.
- Segera mengembalikan dan memproses sampel dalam utas pekerja.
- Memproses sampel sebelum kembali.
Jika pin menggunakan utas pekerja untuk memproses sampel, pin menyimpan jumlah referensi pada sampel. Bagaimanapun, pin output tidak dapat langsung menggunakan kembali sampel ini. Ini harus memanggil metode IMemAllocator::GetBuffer untuk mendapatkan sampel baru.
Jika metode ini mengembalikan S_FALSE atau kode kesalahan, filter upstram harus berhenti mengirim sampel hingga grafik berhenti atau menyelesaikan operasi flush. Alasan umum untuk nilai pengembalian S_FALSE meliputi:
- Pin hilir memerah; artinya, ia menerima panggilan BeginFlush dan belum menerima panggilan EndFlush .
- Filter hilir mendeteksi akhir aliran. (Lihat Pemberitahuan Akhir Stream.)
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | strmif.h (termasuk Dshow.h) |
Pustaka | Strmiids.lib |