Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[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.]
Pour déplacer des données multimédias via le graphe de filtre, un filtre DirectShow doit prendre en charge l’un des plusieurs protocoles possibles. Ces protocoles sont appelés transports. Lorsque deux filtres se connectent, ils doivent prendre en charge le même transport ; sinon, ils ne peuvent pas échanger de données multimédias. En règle générale, un transport nécessite que l’une des broches prennent en charge une interface particulière. Lorsque les filtres se connectent, un épingle interroge l’autre pour l’interface.
La plupart des filtres DirectShow contiennent des données multimédias en mémoire principale et les fournissent à d’autres filtres entre les connexions d’épingle. Ce type de transport est appelé transport de mémoire locale. Bien que le transport de mémoire locale soit le transport le plus courant dans DirectShow, tous les filtres ne l’utilisent pas. Par exemple, certains filtres envoient des données multimédias le long d’un chemin matériel et utilisent uniquement des broches pour fournir des informations de contrôle. Par exemple, consultez l’interface IOverlay.
DirectShow définit deux mécanismes pour le transport de mémoire locale, le modèle push et le modèle d’extraction. Dans le modèle push, un filtre source génère des données et les remet au filtre suivant en aval. Ce filtre reçoit passivement les données, les traite et les envoie en aval. Dans le modèle d’extraction, le filtre source est connecté à un filtre d’analyseur. Le filtre d’analyseur demande des données à partir du filtre source. Le filtre source répond aux demandes en fournissant des données. Le modèle push utilise l’interfaceIMemInputPinet le modèle d’extraction utilise l’interface IAsyncReader.
Le modèle push est plus courant que le modèle d’extraction. Par conséquent, les articles qui suivent supposent un modèle push. Le dernier article de cette section, pull Model, décrit comment l’interface IAsyncReader diffère de IMemInputPin.
Rubriques connexes
-
flux de données dans le du graphique de filtre