Kode Pemberitahuan Peristiwa

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

Bagian ini mencantumkan peristiwa DirectShow yang tidak spesifik untuk DVD. Untuk peristiwa khusus DVD, lihat Kode Pemberitahuan Peristiwa DVD.

Filter mengirim peristiwa ke Filter Graph Manager dengan memanggil metode IMediaEventSink::Notify . Filter Graph Manager menangani beberapa peristiwa dan mengantre yang lain untuk aplikasi. Aplikasi mengambilnya dengan memanggil metode IMediaEvent::GetEvent .

Di bagian berikut, setiap entri mencantumkan kode peristiwa, arti parameter peristiwa, dan tindakan default Filter Graph Manager untuk peristiwa tersebut, jika ada. Untuk mengambil alih tindakan default, panggil IMediaEvent::CancelDefaultHandling. Kode peristiwa didefinisikan dalam file header Evcode.h dan Audevcod.h. Jika tidak ada tindakan default, Filter Graph Manager secara otomatis meneruskan peristiwa ke aplikasi (melalui antrean peristiwa).

Kejadian Kustom

Filter dapat menentukan peristiwa kustom dengan kode peristiwa dalam rentang EC_USER dan yang lebih tinggi. Filter Graph Manager akan menempatkan ini langsung dalam antrean peristiwa. Namun, peringatan berikut berlaku:

  • Filter Graph Manager tidak dapat membebaskan parameter peristiwa menggunakan metode IMediaEvent::FreeEventParams normal. Aplikasi harus membebaskan memori atau jumlah referensi apa pun yang terkait dengan parameter peristiwa.
  • Filter hanya boleh mengirim peristiwa dari dalam aplikasi yang disiapkan untuk menangani peristiwa. (Mungkin aplikasi dapat mengatur properti kustom pada filter untuk menunjukkan bahwa aman untuk mengirim peristiwa.)
Kode pemberitahuan peristiwa Deskripsi
EC_ACTIVATE Jendela video sedang diaktifkan atau dinonaktifkan.
EC_BANDWIDTHCHANGE Tidak didukung.
EC_BUFFERING_DATA Grafik adalah data buffering, atau telah menghentikan buffering data.
EC_BUILT Kirim oleh Kontrol Video saat grafik telah dibuat. Tidak diteruskan ke aplikasi.
EC_CLOCK_CHANGED Jam referensi telah berubah.
EC_CLOCK_UNSET Penyedia jam terputus.
EC_CODECAPI_EVENT Dikirim oleh encoder untuk memberi sinyal peristiwa pengodean.
EC_COMPLETE Semua data dari aliran tertentu telah dirender.
EC_CONTENTPROPERTY_CHANGED Tidak didukung.
EC_DEVICE_LOST Perangkat Plug and Play telah dihapus atau telah tersedia lagi.
EC_DISPLAY_CHANGED Mode tampilan telah berubah.
EC_END_OF_SEGMENT Akhir segmen telah tercapai.
EC_EOS_SOON Tidak didukung.
EC_ERROR_STILLPLAYING Perintah asinkron untuk menjalankan grafik gagal.
EC_ERRORABORT Operasi dibatalkan karena kesalahan.
EC_ERRORABORTEX Operasi dibatalkan karena kesalahan.
EC_EXTDEVICE_MODE_CHANGE Tidak didukung.
EC_FILE_CLOSED File sumber ditutup karena kejadian tak terduga.
EC_FULLSCREEN_LOST Perender video beralih dari mode layar penuh.
EC_GRAPH_CHANGED Grafik filter telah berubah.
EC_LENGTH_CHANGED Panjang sumber telah berubah.
EC_LOADSTATUS Memberi tahu aplikasi kemajuan saat membuka file jaringan.
EC_MARKER_HIT Tidak didukung.
EC_NEED_RESTART Filter meminta agar grafik dimulai ulang.
EC_NEW_PIN Tidak didukung.
EC_NOTIFY_WINDOW Memberi tahu filter jendela perender video.
EC_OLE_EVENT Filter meneruskan string teks ke aplikasi.
EC_OPENING_FILE Grafik sedang membuka file, atau telah selesai membuka file.
EC_PALETTE_CHANGED Palet video telah berubah.
EC_PAUSED Permintaan jeda telah selesai.
EC_PLEASE_REOPEN File sumber telah berubah.
EC_PREPROCESS_COMPLETE Dikirim oleh filter Penulis WM ASF ketika menyelesaikan pra-pemrosesan untuk pengodean multipass.
EC_PROCESSING_LATENCY Menunjukkan jumlah waktu yang dibutuhkan komponen untuk memproses setiap sampel.
EC_QUALITY_CHANGE Grafik menghilangkan sampel, untuk kontrol kualitas.
EC_RENDER_FINISHED Tidak didukung.
EC_REPAINT Perender video memerlukan repaint.
EC_SAMPLE_LATENCY Menentukan seberapa jauh di belakang jadwal komponen untuk memproses sampel.
EC_SAMPLE_NEEDED Meminta sampel input baru dari filter Enhanced Video Renderer (EVR).
EC_SCRUB_TIME Menentukan stempel waktu untuk langkah bingkai terbaru.
EC_SEGMENT_STARTED Segmen baru telah dimulai.
EC_SHUTTING_DOWN Grafik filter dimatikan, sebelum dihancurkan.
EC_SNDDEV_IN_ERROR Terjadi kesalahan perangkat dalam filter tangkapan audio.
EC_SNDDEV_OUT_ERROR Terjadi kesalahan perangkat dalam filter perender audio.
EC_STARVATION Filter tidak menerima data yang cukup.
EC_STATE_CHANGE Grafik filter telah berubah status.
EC_STATUS Berisi dua string status arbitrer.
EC_STEP_COMPLETE Filter yang melakukan langkah bingkai telah melangkah ke jumlah bingkai yang ditentukan.
EC_STREAM_CONTROL_STARTED Perintah mulai kontrol aliran telah berlaku.
EC_STREAM_CONTROL_STOPPED Perintah penghentian kontrol aliran telah berlaku.
EC_STREAM_ERROR_STILLPLAYING Terjadi kesalahan dalam aliran. Aliran masih diputar.
EC_STREAM_ERROR_STOPPED Aliran berhenti karena kesalahan.
EC_TIMECODE_AVAILABLE Tidak didukung.
EC_UNBUILT Kirim oleh Kontrol Video ketika grafik telah ditimpa. Tidak diteruskan ke aplikasi.
EC_USERABORT Pengguna telah menghentikan pemutaran.
EC_VIDEO_SIZE_CHANGED Ukuran video asli telah berubah.
EC_VIDEOFRAMEREADY Bingkai video siap untuk ditampilkan.
EC_VMR_RECONNECTION_FAILED Dikirim oleh VMR-7 dan VMR-9 ketika tidak dapat menerima permintaan perubahan format dinamis dari dekoder upstream.
EC_VMR_RENDERDEVICE_SET Dikirim ketika VMR telah memilih mekanisme penyajiannya.
EC_VMR_SURFACE_FLIPPED Dikirim ketika presenter alokator VMR-7 telah memanggil metode DirectDraw Flip pada permukaan yang disajikan.
EC_WINDOW_DESTROYED Perender video dihancurkan atau dihapus dari grafik.
EC_WMT_EVENT Dikirim oleh filter Pembaca WM ASF saat membaca file ASF yang dilindungi oleh manajemen hak digital (DRM).
EC_WMT_INDEX_EVENT Dikirim ketika aplikasi menggunakan Penulis WM ASF untuk mengindeks file Windows Media Video.

 

Konstanta dan GUID

Pemberitahuan Peristiwa di DirectShow