Codici di notifica degli eventi
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEnginee Acquisizione audio/video in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente di usare un nuovo codice MediaPlayer, IMFMediaEngine e Acquisizione audio/video in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
In queste sezioni sono elencati gli eventi DirectShow non specifici del DVD. Per gli eventi specifici del DVD, vedere DVD Event Notification Codes.
I filtri inviano eventi a Filter Graph Manager chiamando il metodo IMediaEventSink::Notify. Filter Graph Manager gestisce alcuni eventi e accoda altri per l'applicazione. L'applicazione li recupera chiamando il metodo IMediaEvent::GetEvent.
Nelle sezioni seguenti ogni voce elenca il codice evento, il significato dei parametri dell'evento e l'azione predefinita di Filter Graph Manager per l'evento, se presente. Per eseguire l'override dell'azione predefinita, chiamare IMediaEvent::CancelDefaultHandling. I codici evento vengono definiti nei file di intestazione Evcode.h e Audevcod.h. Se non è presente alcuna azione predefinita, Filter Graph Manager inoltra automaticamente l'evento all'applicazione (tramite la coda di eventi).
eventi personalizzati
I filtri possono definire eventi personalizzati con codici evento nell'intervallo EC_USER e versioni successive. Filter Graph Manager le inserisce direttamente nella coda degli eventi. Tuttavia, si applicano le avvertenze seguenti:
- Filter Graph Manager non può liberare i parametri dell'evento usando il normale metodo IMediaEvent::FreeEventParams. L'applicazione deve liberare qualsiasi numero di memoria o riferimento associato ai parametri dell'evento.
- Il filtro deve inviare l'evento solo dall'interno di un'applicazione preparata per gestire l'evento. È possibile che l'applicazione possa impostare una proprietà personalizzata sul filtro per indicare che è sicuro inviare l'evento.
Codice di notifica degli eventi | Descrizione |
---|---|
EC_ACTIVATE | Viene attivata o disattivata una finestra video. |
EC_BANDWIDTHCHANGE | Non supportato. |
EC_BUFFERING_DATA | Il grafico memorizza nel buffer i dati o ha interrotto il buffering dei dati. |
EC_BUILT | Invia dal controllo video quando è stato compilato un grafico. Non inoltrato alle applicazioni. |
EC_CLOCK_CHANGED | L'orologio di riferimento è cambiato. |
EC_CLOCK_UNSET | Il provider di clock è stato disconnesso. |
EC_CODECAPI_EVENT | Inviato da un codificatore per segnalare un evento di codifica. |
EC_COMPLETE | È stato eseguito il rendering di tutti i dati di un flusso specifico. |
EC_CONTENTPROPERTY_CHANGED | Non supportato. |
EC_DEVICE_LOST | Un dispositivo Plug and Play è stato rimosso o è di nuovo disponibile. |
EC_DISPLAY_CHANGED | La modalità di visualizzazione è cambiata. |
EC_END_OF_SEGMENT | È stata raggiunta la fine di un segmento. |
EC_EOS_SOON | Non supportato. |
EC_ERROR_STILLPLAYING | Un comando asincrono per eseguire il grafico non è riuscito. |
EC_ERRORABORT | Un'operazione è stata interrotta a causa di un errore. |
EC_ERRORABORTEX | Un'operazione è stata interrotta a causa di un errore. |
EC_EXTDEVICE_MODE_CHANGE | Non supportato. |
EC_FILE_CLOSED | Il file di origine è stato chiuso a causa di un evento imprevisto. |
EC_FULLSCREEN_LOST | Il renderer video sta disattivando la modalità schermo intero. |
EC_GRAPH_CHANGED | Il grafico del filtro è stato modificato. |
EC_LENGTH_CHANGED | La lunghezza di un'origine è cambiata. |
EC_LOADSTATUS | Notifica all'applicazione di stato durante l'apertura di un file di rete. |
EC_MARKER_HIT | Non supportato. |
EC_NEED_RESTART | Un filtro richiede il riavvio del grafico. |
EC_NEW_PIN | Non supportato. |
EC_NOTIFY_WINDOW | Notifica un filtro della finestra del renderer video. |
EC_OLE_EVENT | Un filtro passa una stringa di testo all'applicazione. |
EC_OPENING_FILE | Il grafico sta aprendo un file o ha terminato l'apertura di un file. |
EC_PALETTE_CHANGED | La tavolozza video è cambiata. |
EC_PAUSED | Una richiesta di pausa è stata completata. |
EC_PLEASE_REOPEN | Il file di origine è stato modificato. |
EC_PREPROCESS_COMPLETE | Inviato dal writer WM ASF quando completa la pre-elaborazione per la codifica multipass. |
EC_PROCESSING_LATENCY | Indica la quantità di tempo che un componente sta impiegando per elaborare ogni campione. |
EC_QUALITY_CHANGE | Il grafico elimina campioni per il controllo qualità. |
EC_RENDER_FINISHED | Non supportato. |
EC_REPAINT | Un renderer video richiede un aggiornamento. |
EC_SAMPLE_LATENCY | Specifica l'intervallo di tempo di pianificazione di un componente per l'elaborazione di campioni. |
EC_SAMPLE_NEEDED | Richiede un nuovo esempio di input dal filtro EVR (Enhanced Video Renderer). |
EC_SCRUB_TIME | Specifica il timestamp per il passaggio di fotogramma più recente. |
EC_SEGMENT_STARTED | È stato avviato un nuovo segmento. |
EC_SHUTTING_DOWN | Il grafico del filtro viene arrestato, prima di essere eliminato definitivamente. |
EC_SNDDEV_IN_ERROR | Si è verificato un errore del dispositivo in un filtro di acquisizione audio. |
EC_SNDDEV_OUT_ERROR | Si è verificato un errore del dispositivo in un filtro del renderer audio. |
EC_STARVATION | Un filtro non riceve dati sufficienti. |
EC_STATE_CHANGE | Lo stato del grafico del filtro è cambiato. |
EC_STATUS | Contiene due stringhe di stato arbitrarie. |
EC_STEP_COMPLETE | Un filtro che esegue l'istruzione dei fotogrammi ha superato il numero specificato di fotogrammi. |
EC_STREAM_CONTROL_STARTED | Un comando start del controllo di flusso ha avuto effetto. |
EC_STREAM_CONTROL_STOPPED | Un comando di arresto del controllo di flusso ha avuto effetto. |
EC_STREAM_ERROR_STILLPLAYING | Si è verificato un errore in un flusso. Il flusso è ancora in riproduzione. |
EC_STREAM_ERROR_STOPPED | Un flusso è stato arrestato a causa di un errore. |
EC_TIMECODE_AVAILABLE | Non supportato. |
EC_UNBUILT | Invia dal controllo video quando un grafico è stato eliminato. Non inoltrato alle applicazioni. |
EC_USERABORT | L'utente ha terminato la riproduzione. |
EC_VIDEO_SIZE_CHANGED | Le dimensioni del video nativo sono cambiate. |
EC_VIDEOFRAMEREADY | Un fotogramma video è pronto per la visualizzazione. |
EC_VMR_RECONNECTION_FAILED | Inviato da VMR-7 e VMR-9 quando non è stato in grado di accettare una richiesta di modifica del formato dinamico dal decodificatore upstream. |
EC_VMR_RENDERDEVICE_SET | Inviato quando vmR ha selezionato il meccanismo di rendering. |
EC_VMR_SURFACE_FLIPPED | Inviato quando il relatore dell'allocatore di VMR-7 ha chiamato il metodo DirectDraw Flip sulla superficie da presentare. |
EC_WINDOW_DESTROYED | Il renderer video è stato eliminato o rimosso dal grafico. |
EC_WMT_EVENT | Inviato dal filtro lettore ASF WM quando legge i file ASF protetti da DRM (Digital Rights Management). |
EC_WMT_INDEX_EVENT | Inviato quando un'applicazione usa WM ASF Writer per indicizzare i file di Windows Media Video. |
Argomenti correlati
-
notifica degli eventi in DirectShow