Kode Pemberitahuan Peristiwa
[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.]
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::Beri tahu. Filter Graph Manager menangani beberapa peristiwa dan antrean 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).
Peristiwa 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 data buffering. |
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 Colok-dan-Main 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 WM ASF Writer saat menyelesaikan pra-pemrosesan untuk pengodean multipass. |
EC_PROCESSING_LATENCY | Menunjukkan jumlah waktu yang dibutuhkan komponen untuk memproses setiap sampel. |
EC_QUALITY_CHANGE | Grafik menjatuhkan 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 pengambilan 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 mengubah 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 saat grafik telah dikoyak. 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 WM ASF Writer untuk mengindeks file Windows Media Video. |
Topik terkait
-
Pemberitahuan Peristiwa di DirectShow