Interface IGraphConfig (strmif.h)
[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.]
Le Gestionnaire de graphes de filtre s’expose pour prendre en charge la génération de graphiques IGraphConfig
dynamiques. Cette interface permet aux applications et aux filtres de reconfigurer le graphe de filtre lorsque le graphe est en cours d’exécution, sans perdre de données du flux.
Le moyen le plus simple de reconstruire dynamiquement le graphe consiste à appeler la méthode IGraphConfig ::Reconnect . Cette méthode gère la plupart des détails de la reconstruction dynamique du graphe. Si jamais vous souhaitez implémenter votre propre technique, IGraphConfig
fournit également la méthode IGraphConfig ::Reconfigure . Cette méthode obtient un verrou sur le graphe de filtre, puis appelle une fonction de rappel dans votre application, qui reconfigure le graphe. Avec cette méthode, la majeure partie du travail est déplacée vers votre application. Pour plus d’informations, consultez Génération de graphiques dynamiques.
Pour optimiser le processus d’ajout et de suppression de filtres, le graphe de filtres conserve un cache de filtres. Lors d’un appel à la méthode Reconnect , vous pouvez spécifier que tous les filtres supprimés du graphique sont ajoutés au cache. Vous pouvez également ajouter un filtre au cache directement, si vous savez qu’il est probablement nécessaire, en appelant IGraphConfig ::AddFilterToCache. Les méthodes IGraphBuilder ::Render, IGraphBuilder ::RenderFile et IGraphBuilder ::Connect tentent automatiquement d’utiliser des filtres dans le cache avant d’utiliser d’autres filtres. En outre, dans la méthode Reconnect, vous pouvez spécifier que seuls les filtres mis en cache seront utilisés pour la reconnexion. Notez que les filtres conservés dans le cache ne font pas partie du graphe. Elles sont déconnectées de toutes les broches et sont conservées dans un état arrêté.
Héritage
L’interface IGraphConfig hérite de l’interface IUnknown. IGraphConfig a également les types de membres suivants :
Méthodes
L’interface IGraphConfig possède ces méthodes.
IGraphConfig ::AddFilterToCache La méthode AddFilterToCache ajoute un filtre au cache de filtres. |
IGraphConfig ::EnumCacheFilter La méthode EnumCacheFilter énumère les filtres dans le cache de filtres. |
IGraphConfig ::GetFilterFlags La méthode GetFilterFlags récupère les informations de configuration d’un filtre. |
IGraphConfig ::GetStartTime La méthode GetStartTime récupère l’heure de référence utilisée lors de la dernière mise en état d’exécution du graphe de filtre. |
IGraphConfig ::P ushThroughData La méthode PushThroughData envoie les données via le graphe de filtre vers la broche spécifiée. |
IGraphConfig ::Reconfigure La méthode Reconfigure verrouille le graphe de filtre et appelle une fonction de rappel dans l’application ou le filtre pour effectuer une reconfiguration dynamique. |
IGraphConfig ::Reconnect La méthode Reconnect effectue une reconnexion dynamique entre deux broches. |
IGraphConfig ::RemoveFilterEx La méthode RemoveFilterEx supprime un filtre du graphe de filtre. |
IGraphConfig ::RemoveFilterFromCache La méthode RemoveFilterFromCache supprime un filtre du cache de filtre. |
IGraphConfig ::SetFilterFlags La méthode SetFilterFlags définit les informations de configuration d’un filtre. |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | strmif.h (include Dshow.h) |