Partager via


composants Graph-Building

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngineet audio/vidéo capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et capture audio/vidéo dans Media Foundation au lieu de directShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

DirectShow fournit plusieurs composants qui peuvent être utilisés pour créer des graphiques de filtre. Il s’agit notamment des éléments suivants :

  • filtrer le gestionnaire de graphiques. Cet objet contrôle le graphique de filtre. Il prend en charge leIGraphBuilder, IMediaControlet interfaces IMediaEventEx, entre autres. Toutes les applications DirectShow utilisent cet objet à un moment donné, bien que dans certains cas, un autre objet crée le Gestionnaire de graphes de filtre pour l’application.
  • Capture Graph Builder. Cet objet fournit des méthodes supplémentaires pour créer des graphiques de filtre. Il a été initialement conçu pour créer des graphiques qui effectuent une capture vidéo (par conséquent le nom), mais est utile pour de nombreux autres types de graphe de filtre personnalisé. Il prend en charge l’interfaceICaptureGraphBuilder2.
  • filtre et énumérateur d’appareil système. Ces objets localisent les filtres inscrits sur le système de l’utilisateur ou qui représentent des appareils matériels.
  • DVD Graph Builder. Cet objet génère des graphiques de filtre pour la lecture et la navigation dvd. Il prend en charge l’interfaceIDvdGraphBuilder.

Intelligent Connect

Le terme « Intelligent Connect » couvre un ensemble d’algorithmes que le Gestionnaire de graphes de filtre utilise pour générer tout ou partie d’un graphique de filtre. Chaque fois que le Gestionnaire de graphes de filtre nécessite des filtres supplémentaires pour terminer le graphique, il effectue à peu près les opérations suivantes :

  1. S’il existe un filtre actuellement dans le graphique, avec au moins une broche d’entrée non connectée, le Gestionnaire de graphiques de filtre tente d’utiliser ce filtre.
  2. Sinon, le Gestionnaire de graphes de filtre recherche dans le Registre les filtres qui peuvent accepter le type de média approprié pour la connexion. Chaque filtre a une valeur de Registre appelée « Mérite », qui indique approximativement la probabilité que le filtre soit utile pour terminer le graphique. Le Gestionnaire de graphiques de filtre tente des filtres dans l’ordre de mérite. Pour chaque type de flux (par exemple, audio, vidéo ou MIDI), le convertisseur par défaut a un mérite élevé. Les décodeurs ont également un mérite élevé. Les filtres à usage spécial ont un faible mérite.

Si le Gestionnaire de graphes de filtre est bloqué, il revient et essaie une combinaison différente de filtres. Vous trouverez les détails exacts dans la rubrique intelligent Connect.

génération du de graphique de filtre