Partager via


ICaptureGraphBuilder ::RenderStream, méthode (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.]

NoteL’interface ICaptureGraphBuilder est déconseillée. Utilisez plutôt ICaptureGraphBuilder2 .
 
Connecte le code pin d’un filtre source, d’une catégorie éventuellement spécifiée, au filtre de rendu et éventuellement via un autre filtre.

Syntaxe

HRESULT RenderStream(
  [in] const GUID  *pCategory,
  [in] IUnknown    *pSource,
  [in] IBaseFilter *pfCompressor,
  [in] IBaseFilter *pfRenderer
);

Paramètres

[in] pCategory

Pointeur vers un GUID spécifiant la broche de sortie du filtre source à connecter. Consultez Pin Property Set pour obtenir la liste de toutes les catégories de broches. NULL indique le rendu de la seule broche de sortie, quelle que soit la catégorie.

[in] pSource

Pointeur vers un IBaseFilter ou une interface IPin représentant le filtre source ou une broche de sortie. Les filtres sources sont généralement un filtre source de fichiers, tel qu’un filtre source de fichiers AVI ou un filtre de capture.

[in] pfCompressor

Pointeur vers une interface IBaseFilter représentant le filtre de compression facultatif.

[in] pfRenderer

Pointeur vers une interface IBaseFilter représentant le convertisseur. Vous pouvez utiliser le paramètre ppf (multiplexeur) de ICaptureGraphBuilder ::SetOutputFileName pour fournir cette valeur.

Valeur retournée

Retourne VFW_S_NOPREVIEWPIN si le filtre de capture a une broche de capture mais aucune broche d’aperçu, et que vous appelez RenderStream avec la catégorie &PIN_CATEGORY_PREVIEW sur l’épingle de capture. Dans ce cas, RenderStream affiche l’aperçu du filtre Smart Tee . Pour plus d'informations, consultez la section Notes.

Remarques

Si vous spécifiez un GUID d’ensemble de propriétés pin non NULL pour pCategory et un filtre de capture pour pSource, cette méthode instancie et connecte les filtres amont requis supplémentaires, tels que les tuners TV et les barres croisées. Il restitue ensuite la broche de capture de pSource.

Si pSource est une broche, spécifiez NULL pour pCategory et cette méthode affiche le flux à partir de cette broche.

Si le filtre source n’a qu’une seule broche de sortie, spécifiez NULL pour pCategory.

Les filtres pSource, pfCompressor et pfRenderer donnés en tant que paramètres doivent être présents dans le graphique avant que cette méthode soit appelée.

Si vous créez un graphe de capture qui utilise des filtres de capture WDM, cette méthode génère tous les filtres amont nécessaires, ainsi que les filtres en aval.

Certains filtres de capture qui fonctionnent avec le nouveau matériel de capture vidéo WDM VPE (Video Port Extension) ont des broches de port vidéo au lieu de broches d’aperçu destinées à la préversion. Les broches de port vidéo ne se connectent pas directement à un convertisseur vidéo, mais à un filtre spécial appelé Mixeur de superposition. Votre application n’a pas besoin de s’en soucier. Tout ce que vous avez à faire est d’appeler RenderStream avec PIN_CATEGORY_PREVIEW et le générateur de graphiques de capture affiche correctement la broche VIDEO PORT via un mélangeur de superposition si c’est ce qui est nécessaire.

Lorsque vous affichez une broche de capture ou d’aperçu d’un filtre de capture vidéo (à l’aide RenderStream de la catégorie PIN_CATEGORY_CAPTURE ou PIN_CATEGORY_PREVIEW) et que le filtre de capture a une broche de capture, mais pas d’épingle d’aperçu, le filtre Smart Tee est utilisé automatiquement pour autoriser la capture et l’aperçu simultanés. Par exemple, le fait d’appeler RenderStream avec la catégorie PIN_CATEGORY_CAPTURE permet de connecter un filtre Smart Tee à la broche de capture du filtre, puis d’afficher la broche de capture du Smart Tee. Si vous appelez RenderStream ensuite avec la catégorie PIN_CATEGORY_PREVIEW sur la broche de capture, il affiche en fait l’aperçu de l’aperçu du Smart Tee. Si l’appel RenderStream avec PIN_CATEGORY_PREVIEW entraîne l’utilisation de la broche de capture et d’un filtre Smart Tee, RenderStream retourne VFW_S_NOPREVIEWPIN pour l’indiquer. Par conséquent, si FindInterface ne parvient pas à trouver une interface d’aperçu, vous devrez peut-être appeler FindInterface avec la catégorie PIN_CATEGORY_PREVIEW et avec la catégorie PIN_CATEGORY_CAPTURE, car l’interface d’aperçu peut être trouvée en regardant en aval de l’épingle de capture du filtre de capture.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)

Voir aussi

Codes d’erreur et de réussite

ICaptureGraphBuilder, interface