Compartir a través de


Acerca del Administrador de gráficos de filtros

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

Filter Graph Manager es un objeto COM que controla los filtros de un gráfico de filtros. Realiza muchas funciones, incluidas las siguientes:

  • Coordinar los cambios de estado entre los filtros.
  • Establecer un reloj de referencia.
  • Comunicación de eventos a la aplicación.
  • Proporcionar métodos para que las aplicaciones compilen el gráfico de filtros.

Cada una de estas funciones se describe brevemente aquí. Los detalles se pueden encontrar en otra parte de la documentación.

Cambios de estado. Los cambios de estado dentro de los filtros deben producirse en un orden determinado. Por lo tanto, la aplicación no emite comandos de cambio de estado directamente a los filtros. En su lugar, proporciona un único comando al Administrador de gráficos de filtros, que distribuye el comando a cada uno de los filtros. La búsqueda funciona de forma similar: la aplicación proporciona un comando seek al Administrador de gráficos de filtros, que lo distribuye a los filtros.

Reloj de referencia. Todos los filtros del gráfico usan el mismo reloj, denominado reloj de referencia. El reloj de referencia garantiza que se sincronicen todas las secuencias. La hora en la que se debe representar un fotograma de vídeo o una muestra de audio se denomina tiempo de presentación. El tiempo de presentación se mide en relación con el reloj de referencia. El Administrador de gráficos de filtros elige un reloj de referencia, normalmente el reloj de la tarjeta de sonido o el reloj del sistema.

Eventos de grafo. Filter Graph Manager usa una cola de eventos para informar a la aplicación de eventos que se producen en el gráfico de filtros. Este mecanismo es similar a un bucle de mensajes de Windows.

Métodos de creación de grafos. Filter Graph Manager proporciona métodos para que la aplicación agregue filtros al grafo, conecte filtros a otros filtros y desconecte los filtros.

Una función que el Administrador de gráficos de filtros no controla es mover datos de un filtro a otro. Esto se realiza mediante los propios filtros, a través de sus conexiones de patillas. El procesamiento siempre se produce en un subproceso independiente.

Nota:

Los filtros siempre están libres, residen en el mismo proceso que el Administrador de gráficos de filtros y se cargan desde servidores en proceso. Por lo tanto, las llamadas a métodos no se serializarán entre filtros o entre filtros y el Administrador de gráficos de filtros.

 

Data Flow en el gráfico de filtros

Notificación de eventos en DirectShow

Establecer el reloj del gráfico

Hora y relojes en DirectShow