CTransInPlaceFilter.Receive, méthode

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in 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 Audio/Video Capture dans Media Foundation au lieu de DirectShow, si 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.]

La Receive méthode reçoit un exemple de média, le traite et le remet au filtre en aval.

Syntaxe

HRESULT Receive(
   IMediaSample *pSample
);

Paramètres

pSample

Pointeur vers l’interface IMediaSample sur l’exemple.

Valeur renvoyée

Retourne une valeur HRESULT . Les valeurs possibles incluent celles indiquées dans le tableau suivant.

Code de retour Description
S_OK
Succès
E_UNEXPECTED
Erreur inattendue

Notes

L’épingle d’entrée du filtre appelle cette méthode lorsqu’il reçoit un exemple. Le filtre appelle la méthode Transform , que la classe dérivée doit implémenter. La méthode Transform traite les données. Si le filtre n’utilise qu’un seul allocateur, il transmet pSample directement à la méthode Transform . Sinon, il copie pSample et transmet la copie.

Si la méthode Transform retourne S_FALSE, la Receive méthode supprime l’exemple. Sur le premier exemple supprimé, le filtre envoie un événement EC_QUALITY_CHANGE au gestionnaire de graphe de filtres. Sinon, si la méthode Transform retourne S_OK, le filtre remet l’exemple de sortie. Pour ce faire, il appelle la méthode IMemInputPin::Receive sur la broche d’entrée en aval.

Configuration requise

Condition requise Valeur
En-tête
Transip.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

CTransInPlaceFilter, classe