Compartir a través de


Componentes de Graph-Building

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEnginey captura de audio y 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 captura de audio y vídeo 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.

DirectShow proporciona varios componentes que se pueden usar para crear gráficos de filtros. Estos incluyen lo siguiente:

  • del Administrador de gráficos de filtros . Este objeto controla el gráfico de filtros. Admite las interfaces de IGraphBuilder, IMediaControly IMediaEventEx, entre otros. Todas las aplicaciones directShow usan este objeto en algún momento, aunque en algunos casos otro objeto crea el Administrador de gráficos de filtros para la aplicación.
  • Capture Graph Builder. Este objeto proporciona métodos adicionales para crear gráficos de filtro. Originalmente se diseñó para crear gráficos que realizan capturas de vídeo (por lo tanto, el nombre), pero resulta útil para muchos otros tipos de gráficos de filtros personalizados. Admite la interfazICaptureGraphBuilder2.
  • del asignador de filtros y enumerador de dispositivos del sistema. Estos objetos localizan filtros registrados en el sistema del usuario o que representan dispositivos de hardware.
  • de DVD Graph Builder . Este objeto crea gráficos de filtro para la reproducción y navegación de DVD. Admite la interfazIDvdGraphBuilder.

Conexión inteligente

El término "Intelligent Connect" cubre un conjunto de algoritmos que el Administrador de gráficos de filtros usa para compilar todo o parte de un grafo de filtro. Cada vez que el Administrador de gráficos de filtros requiere filtros adicionales para completar el grafo, hace aproximadamente lo siguiente:

  1. Si hay un filtro actualmente en el gráfico, con al menos un pin de entrada no conectado, el Administrador de gráficos de filtros intenta usar ese filtro.
  2. De lo contrario, el Administrador de gráficos de filtros busca en el Registro filtros que pueden aceptar el tipo de medio correcto para la conexión. Cada filtro tiene un valor del Registro denominado "Merit", que indica aproximadamente la probabilidad de que el filtro sea útil para completar el gráfico. El Administrador de gráficos de filtros intenta filtrar por orden de valor de mérito. Para cada tipo de secuencia (como audio, vídeo o MIDI), el representador predeterminado tiene un alto mérito. Los descodificadores también tienen un alto mérito. Los filtros de propósito especial tienen un bajo mérito.

Si el Administrador de gráficos de filtros se bloquea, se cerrará y probará una combinación diferente de filtros. Puede encontrar los detalles exactos en el tema Intelligent Connect.

Crear el gráfico de filtros