Bagikan melalui


Metode CBaseRenderer.SendEndOfStream

[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.]

Jika akhir aliran tercapai, metode menjadwalkan SendEndOfStream peristiwa EC_COMPLETE untuk manajer grafik filter.

Sintaks

virtual HRESULT SendEndOfStream();

Parameter

Metode ini tidak memiliki parameter.

Nilai kembali

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

Menampilkan kode Deskripsi
S_FALSE
Manajer grafik filter tidak menerima pemberitahuan peristiwa.
S_OK
Berhasil.

Keterangan

Filter mungkin menerima pemberitahuan akhir aliran sebelum waktu berhenti sampel saat ini. Jika demikian, filter harus menunggu sebelum memposting pemberitahuan EC_COMPLETE ke manajer grafik filter.

Karena itu:

  • Jika filter telah menerima pemberitahuan end-of-stream (EOS) awal, metode ini menjadwalkan peristiwa timer. Saat peristiwa timer diaktifkan, filter memposting peristiwa EC_COMPLETE.
  • Jika filter telah menerima pemberitahuan EOS yang tidak lebih awal, metode ini segera memposting peristiwa EC_COMPLETE.
  • Jika filter tidak memiliki pemberitahuan EOS yang tertunda, metode akan kembali tanpa melakukan apa pun.

Metode panggilan balik timer adalah CBaseRenderer::TimerCallback. Untuk mengirimkan peristiwa EC_COMPLETE, filter memanggil metode CBaseRenderer::NotifyEndOfStream .

Persyaratan

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

Lihat juga

Kelas CBaseRenderer