Codici di notifica degli eventi
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
In questa sezione sono elencati gli eventi DirectShow che non sono specifici del DVD. Per gli eventi specifici del DVD, vedere DVD Event Notification Codes .For events specific to DVD, see 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 dell'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 sono 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 arrestato il buffering dei dati. |
EC_BUILT | Invia dal controllo video al momento della compilazione di un grafico. Non inoltrato alle applicazioni. |
EC_CLOCK_CHANGED | L'orologio di riferimento è stato modificato. |
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 dei filtri è stato modificato. |
EC_LENGTH_CHANGED | La lunghezza di un'origine è cambiata. |
EC_LOADSTATUS | Notifica all'applicazione lo stato di avanzamento all'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 apre un file o ha terminato l'apertura di un file. |
EC_PALETTE_CHANGED | La tavolozza video è cambiata. |
EC_PAUSED | È stata completata una richiesta di sospensione. |
EC_PLEASE_REOPEN | Il file di origine è stato modificato. |
EC_PREPROCESS_COMPLETE | Inviato dal filtro WM ASF Writer quando completa la pre-elaborazione per la codifica multipass. |
EC_PROCESSING_LATENCY | Indica il tempo necessario per elaborare ogni campione da parte di un componente. |
EC_QUALITY_CHANGE | Il grafico elimina i 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 pianificazione di un componente per l'elaborazione degli esempi. |
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 frame più recente. |
EC_SEGMENT_STARTED | È stato avviato un nuovo segmento. |
EC_SHUTTING_DOWN | Il grafico del filtro viene arrestato, prima di essere distrutto. |
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 | Il grafico del filtro ha modificato lo stato. |
EC_STATUS | Contiene due stringhe di stato arbitrarie. |
EC_STEP_COMPLETE | Un filtro che esegue l'esecuzione del passaggio del frame ha eseguito l'esecuzione del passaggio del fotogramma al 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 state modificate. |
EC_VIDEOFRAMEREADY | Un frame 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 vmR-7 ha chiamato il metodo DirectDraw Flip sulla superficie da presentare. |
EC_WINDOW_DESTROYED | Il renderer video è stato distrutto o rimosso dal grafico. |
EC_WMT_EVENT | Inviato dal filtro lettore WM ASF quando legge i file ASF protetti da Digital Rights Management (DRM). |
EC_WMT_INDEX_EVENT | Inviato quando un'applicazione usa WM ASF Writer per indicizzare i file video di Windows Media. |
Argomenti correlati