CBaseOutputPin, classe

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 |
|
| Bibliothèque |
|