composants Graph-Building
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La 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 générer des graphiques de filtre. Ces options en question sont les suivantes :
- Filtrer le Gestionnaire de graphiques. Cet objet contrôle le graphe de filtre. Il prend en charge les interfaces IGraphBuilder, IMediaControl et IMediaEventEx , entre autres. Toutes les applications DirectShow utilisent cet objet à un moment donné, même si, dans certains cas, un autre objet crée le Gestionnaire de graphes de filtre pour l’application.
- Capturer le Générateur de graphiques. Cet objet fournit des méthodes supplémentaires pour créer des graphiques de filtre. Il a été conçu à l’origine pour créer des graphiques qui effectuent une capture vidéo (d’où son nom), mais il est utile pour de nombreux autres types de graphe de filtres personnalisés. Il prend en charge l’interface ICaptureGraphBuilder2 .
- Filtrer le mappeur et l’énumérateur d’appareil système. Ces objets localisent les filtres qui sont inscrits sur le système de l’utilisateur ou qui représentent des appareils matériels.
- Générateur de graphiques DVD. Cet objet génère des graphiques de filtre pour la lecture et la navigation de DVD. Il prend en charge l’interface IDvdGraphBuilder .
Connexion intelligente
Le terme « Intelligent Connect » couvre un ensemble d’algorithmes que le Gestionnaire de graphes de filtres utilise pour générer tout ou partie d’un graphe de filtre. Chaque fois que le Gestionnaire de graphes de filtre nécessite des filtres supplémentaires pour terminer le graphe, il effectue à peu près les opérations suivantes :
- S’il existe actuellement un filtre dans le graphe, avec au moins une broche d’entrée non connectée, le Gestionnaire de graphes de filtre tente d’utiliser ce filtre.
- Sinon, le Gestionnaire de graphes de filtre recherche dans le Registre des filtres qui peuvent accepter le type de média approprié pour la connexion. Chaque filtre a une valeur de Registre appelée « Merit », qui indique approximativement à quel point le filtre est susceptible d’être utile pour terminer le graphique. Le Gestionnaire de graphes de filtre tente de filtrer par ordre de valeur 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 grand mérite. Les filtres à usage spécial ont peu de mérite.
Si le Gestionnaire de graphes de filtres est bloqué, il va reculer et essayer une autre combinaison de filtres. Vous trouverez les détails exacts dans la rubrique Intelligent Connect.
Rubriques connexes