Bagikan melalui


Metode CBaseStreamControl.NotifyFilterState

[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 ini NotifyFilterState memberi tahu pin saat status filter berubah.

Sintaks

void NotifyFilterState(
   FILTER_STATE   new_state,
   REFERENCE_TIME tStart = 0
);

Parameter

new_state

Menentukan status baru, sebagai anggota enumerasi FILTER_STATE .

tMulai

Menentukan waktu mulai. Jika status filter baru State_Running, teruskan nilai dari metode IMediaFilter::Run . Jika tidak, gunakan nilai default.

Mengembalikan nilai

Metode ini tidak mengembalikan nilai.

Keterangan

Metode ini menyebabkan metode CBaseStreamControl::CheckStreamState berhenti menunggu. Panggil metode ini setiap kali filter pemilik berubah status.

Contoh

STDMETHODIMP CMyFilter::Run(REFERENCE_TIME tStart)
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Running, tStart);
   return CBaseFilter::Run(tStart); // Call the filter base class.
}

STDMETHODIMP CMyFilter::Pause()
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Paused);
   return CBaseFilter::Pause();
}

STDMETHODIMP CMyFilter::Stop()
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Stopped);
   return CBaseFilter::Stop();
}

Persyaratan

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

Lihat juga

Kelas CBaseStreamControl