Códigos de notificación de eventos
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
En esta sección se enumeran los eventos directShow que no son específicos de DVD. Para obtener eventos específicos de DVD, consulte Códigos de notificación de eventos de DVD.
Los filtros envían eventos al Administrador de gráficos de filtros llamando al método IMediaEventSink::Notify . Filter Graph Manager controla algunos eventos y colas para la aplicación. La aplicación los recupera llamando al método IMediaEvent::GetEvent .
En las secciones siguientes, cada entrada enumera el código de evento, el significado de los parámetros de evento y la acción predeterminada del Administrador de gráficos de filtros para el evento, si existe. Para invalidar la acción predeterminada, llame a IMediaEvent::CancelDefaultHandling. Los códigos de evento se definen en los archivos de encabezado Evcode.h y Audevcod.h. Si no hay ninguna acción predeterminada, Filter Graph Manager reenvía automáticamente el evento a la aplicación (a través de la cola de eventos).
Eventos personalizados
Los filtros pueden definir eventos personalizados con códigos de evento en el intervalo EC_USER y versiones posteriores. El Administrador de gráficos de filtros colocará estos directamente en la cola de eventos. Sin embargo, se aplican las siguientes advertencias:
- El Administrador de gráficos de filtros no puede liberar los parámetros de evento mediante el método normal IMediaEvent::FreeEventParams . La aplicación debe liberar los recuentos de memoria o referencia asociados a los parámetros de evento.
- El filtro solo debe enviar el evento desde dentro de una aplicación que esté preparada para controlar el evento. (Posiblemente, la aplicación puede establecer una propiedad personalizada en el filtro para indicar que es seguro enviar el evento).
Código de notificación de eventos | Descripción |
---|---|
EC_ACTIVATE | Se activa o desactiva una ventana de vídeo. |
EC_BANDWIDTHCHANGE | No compatible. |
EC_BUFFERING_DATA | El grafo almacena en búfer los datos o ha dejado de almacenar en búfer los datos. |
EC_BUILT | Enviar por el control de vídeo cuando se ha compilado un grafo. No se reenvía a las aplicaciones. |
EC_CLOCK_CHANGED | El reloj de referencia ha cambiado. |
EC_CLOCK_UNSET | El proveedor de reloj se desconectó. |
EC_CODECAPI_EVENT | Enviado por un codificador para indicar un evento de codificación. |
EC_COMPLETE | Se han representado todos los datos de una secuencia determinada. |
EC_CONTENTPROPERTY_CHANGED | No compatible. |
EC_DEVICE_LOST | Se quitó un dispositivo Plug and Play o ha vuelto a estar disponible. |
EC_DISPLAY_CHANGED | El modo de presentación ha cambiado. |
EC_END_OF_SEGMENT | Se ha alcanzado el final de un segmento. |
EC_EOS_SOON | No compatible. |
EC_ERROR_STILLPLAYING | Error en un comando asincrónico para ejecutar el grafo. |
EC_ERRORABORT | Se anuló una operación debido a un error. |
EC_ERRORABORTEX | Se anuló una operación debido a un error. |
EC_EXTDEVICE_MODE_CHANGE | No compatible. |
EC_FILE_CLOSED | El archivo de origen se cerró debido a un evento inesperado. |
EC_FULLSCREEN_LOST | El representador de vídeo está desactivando el modo de pantalla completa. |
EC_GRAPH_CHANGED | El gráfico de filtros ha cambiado. |
EC_LENGTH_CHANGED | La longitud de un origen ha cambiado. |
EC_LOADSTATUS | Notifica a la aplicación de progreso al abrir un archivo de red. |
EC_MARKER_HIT | No compatible. |
EC_NEED_RESTART | Un filtro solicita que se reinicie el grafo. |
EC_NEW_PIN | No compatible. |
EC_NOTIFY_WINDOW | Notifica un filtro de la ventana del representador de vídeo. |
EC_OLE_EVENT | Un filtro pasa una cadena de texto a la aplicación. |
EC_OPENING_FILE | El gráfico está abriendo un archivo o ha terminado de abrir un archivo. |
EC_PALETTE_CHANGED | La paleta de vídeos ha cambiado. |
EC_PAUSED | Se ha completado una solicitud de pausa. |
EC_PLEASE_REOPEN | El archivo de origen ha cambiado. |
EC_PREPROCESS_COMPLETE | Enviado por el filtro WM ASF Writer cuando completa el procesamiento previo para la codificación multipass. |
EC_PROCESSING_LATENCY | Indica la cantidad de tiempo que tarda un componente en procesar cada ejemplo. |
EC_QUALITY_CHANGE | El gráfico está quitando muestras, para el control de calidad. |
EC_RENDER_FINISHED | No compatible. |
EC_REPAINT | Un representador de vídeo requiere un reintentos. |
EC_SAMPLE_LATENCY | Especifica cuánto está lejos de programar un componente para procesar muestras. |
EC_SAMPLE_NEEDED | Solicita un nuevo ejemplo de entrada desde el filtro Enhanced Video Renderer (EVR). |
EC_SCRUB_TIME | Especifica la marca de tiempo para el paso de fotograma más reciente. |
EC_SEGMENT_STARTED | Se ha iniciado un nuevo segmento. |
EC_SHUTTING_DOWN | El gráfico de filtros se está cerrando, antes de ser destruido. |
EC_SNDDEV_IN_ERROR | Se ha producido un error de dispositivo en un filtro de captura de audio. |
EC_SNDDEV_OUT_ERROR | Se ha producido un error de dispositivo en un filtro de representador de audio. |
EC_STARVATION | Un filtro no recibe suficientes datos. |
EC_STATE_CHANGE | El gráfico de filtro ha cambiado el estado. |
EC_STATUS | Contiene dos cadenas de estado arbitrarias. |
EC_STEP_COMPLETE | Un filtro que realiza la ejecución paso a paso de fotogramas ha escalonado el número especificado de fotogramas. |
EC_STREAM_CONTROL_STARTED | Un comando de inicio de control de flujo ha tenido efecto. |
EC_STREAM_CONTROL_STOPPED | Un comando stream-control stop ha tenido efecto. |
EC_STREAM_ERROR_STILLPLAYING | Se ha producido un error en una secuencia. La secuencia todavía se está reproduciendo. |
EC_STREAM_ERROR_STOPPED | Una secuencia se ha detenido debido a un error. |
EC_TIMECODE_AVAILABLE | No compatible. |
EC_UNBUILT | Enviar por el control de vídeo cuando se ha roto un gráfico. No se reenvía a las aplicaciones. |
EC_USERABORT | El usuario ha terminado la reproducción. |
EC_VIDEO_SIZE_CHANGED | El tamaño del vídeo nativo ha cambiado. |
EC_VIDEOFRAMEREADY | Un fotograma de vídeo está listo para mostrarse. |
EC_VMR_RECONNECTION_FAILED | Enviado por VMR-7 y VMR-9 cuando no pudo aceptar una solicitud de cambio de formato dinámico del descodificador ascendente. |
EC_VMR_RENDERDEVICE_SET | Se envía cuando VMR ha seleccionado su mecanismo de representación. |
EC_VMR_SURFACE_FLIPPED | Se envía cuando el moderador del asignador de VMR-7 ha llamado al método DirectDraw Flip en la superficie que se presenta. |
EC_WINDOW_DESTROYED | El representador de vídeo se destruyó o quitó del gráfico. |
EC_WMT_EVENT | Enviado por el filtro wm ASF Reader cuando lee los archivos ASF protegidos por la administración de derechos digitales (DRM). |
EC_WMT_INDEX_EVENT | Se envía cuando una aplicación usa WM ASF Writer para indexar archivos de Windows Media Video. |
Temas relacionados