CBaseOutputPin, classe

hiérarchie de la classe cbaseoutputpin

La CBaseOutputPin classe est une classe de base abstraite qui implémente une broche de sortie.

Cette classe dérive de CBasePin. Il diffère de CBasePin en respectant les points suivants :

  • Il se connecte uniquement aux broches d’entrée qui prennent en charge l’interface IMemInputPin .
  • Il prend en charge le transport de mémoire locale par le biais de l’interface IMemAllocator .
  • Elle rejette les notifications de fin de flux, de vidage et de segmentation. (Ils ne doivent pas être envoyés à une broche de sortie.)
  • Il fournit des méthodes pour fournir des exemples en aval.

Lorsque le code confidentiel se connecte, il demande un allocateur de mémoire à partir de la broche d’entrée. En échec, elle crée un nouvel objet allocateur. La broche de sortie est chargée de définir les propriétés de l’allocateur. Pour ce faire, il utilise la méthode virtuelle pure CBaseOutputPin ::D ecidebuffersize. Substituez cette méthode dans votre classe dérivée. Si la broche d’entrée a des exigences de mémoire tampon, elles sont passées à la méthode DecideBufferSize .

Appelez la méthode CBaseOutputPin :: GetDeliveryBuffer pour obtenir un exemple de support vide. Appelez la méthode CBaseOutputPin ::D eliver pour remettre des exemples en aval.

Votre classe dérivée doit substituer la méthode CBasePin :: CheckMediaType virtuelle pure pour valider le type de média lors des connexions de code confidentiel.

Variables membres protégées Description
m _ pAllocator Pointeur vers l’allocateur de mémoire.
m _ pInputPin Pointeur vers la broche d’entrée connectée à ce code confidentiel.
Méthodes publiques Description
CBaseOutputPin Méthode de constructeur.
CompleteConnect Termine une connexion à une broche d’entrée. Virtuels.
DecideAllocator Sélectionne un allocateur de mémoire. Virtuels.
GetDeliveryBuffer Récupère un exemple de média qui contient une mémoire tampon vide. Virtuels.
Remettre Remet un échantillon de média à la broche d’entrée connectée. Virtuels.
InitAllocator Crée un allocateur de mémoire. Virtuels.
CheckConnect Détermine si une connexion de code confidentiel est appropriée.
BreakConnect Libère le code confidentiel d’une connexion.
Actif Notifie le code confidentiel que le filtre est maintenant actif.
Inactif Notifie le code confidentiel que le filtre n’est plus actif.
DeliverEndOfStream Fournit une notification de fin de flux à la broche d’entrée connectée. Virtuels.
DeliverBeginFlush Demande la broche d’entrée connectée pour commencer une opération de vidage. Virtuels.
DeliverEndFlush Demande la broche d’entrée connectée pour terminer une opération de vidage. Virtuels.
DeliverNewSegment Remet une notification de nouveau segment à la broche d’entrée connectée. Virtuels.
Méthodes virtuelles pures Description
DecideBufferSize Définit les exigences de la mémoire tampon.
Méthodes IPin Description
BeginFlush Commence une opération de vidage.
EndFlush Termine une opération de vidage.
EndOfStream Notifie le code confidentiel qu’aucune donnée supplémentaire n’est attendue.

Spécifications

Condition requise Valeur
En-tête
Amfilter. h (inclure Flux. h)
Bibliothèque
Strmbase. lib (versions commerciales);
Strmbasd. lib (versions Debug)