Classe CBaseFilter
[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.]
La CBaseFilter
classe est une classe abstraite pour l’implémentation de filtres. Pour implémenter un filtre à l’aide de cette classe, vous devez effectuer au moins les étapes suivantes :
- Dérivez une nouvelle classe à partir de
CBaseFilter
. - Incluez les variables membres qui définissent les broches sur le filtre. Les broches doivent hériter de la classe CBasePin .
- Remplacez la méthode virtuelle pure CBaseFilter::GetPin, qui récupère les broches sur le filtre.
- Remplacez la méthode virtuelle pure CBaseFilter::GetPinCount, qui récupère le nombre de broches.
- Fournissez des méthodes de génération, de traitement ou de rendu d’exemples multimédias.
Plusieurs classes de base dérivent de CBaseFilter
, notamment CSource, CBaseRenderer et CTransformFilter. Il est généralement plus facile d’implémenter un filtre avec l’une de ces classes spécialisées, plutôt que d’utiliser CBaseFilter
directement.
Variables membres protégées | Description |
---|---|
m_State | État actuel du filtre. |
m_pClock | Pointeur vers l’horloge de référence du filtre. |
m_tStart | Temps de référence qui correspond à l’heure de flux 0. |
m_clsid | Identificateur de classe (CLSID) du filtre. |
m_pLock | Pointeur vers une section critique utilisée pour sérialiser les changements d’état. |
m_pName | Nom du filtre. |
m_pGraph | Pointeur vers le gestionnaire de graphe de filtre. |
m_pSink | Pointeur vers l’interface IMediaEventSink sur le gestionnaire de graphe de filtre. |
m_PinVersion | Version actuelle de l’ensemble de broches sur ce filtre. |
Méthodes publiques | Description |
CBaseFilter | Méthode du constructeur. |
~ CBaseFilter | Méthode de destructeur. |
StreamTime | Récupère l’heure de flux actuelle. Virtuel. |
IsActive | Détermine si le filtre est actuellement actif (en cours d’exécution ou en pause). |
IsStopped | Détermine si le filtre est actuellement arrêté. |
NotifyEvent | Envoie une notification d’événement au gestionnaire de graphe de filtre. |
GetFilterGraph | Récupère un pointeur vers le gestionnaire de graphe de filtre. |
ReconnectPin | Interrompt une connexion de broche existante et la reconnecte à la même broche, à l’aide d’un type de média spécifié. |
GetPinVersion | Récupère un numéro de version pour l’ensemble de broches sur ce filtre. Virtuel. |
IncrementPinVersion | Incrémente le numéro de version sur l’ensemble de broches. |
GetSetupData | Récupère les données d’inscription pour le filtre. Virtuel. |
Méthodes virtuelles pures | Description |
GetPinCount | Récupère le nombre de broches. |
GetPin | Récupère une broche. |
Méthodes IPersist | Description |
GetClassID | Récupère l’identificateur de classe. |
Méthodes IMediaFilter | Description |
GetState | Récupère l’état du filtre (en cours d’exécution, arrêté ou suspendu). |
SetSyncSource | Définit une horloge de référence pour le filtre. |
GetSyncSource | Récupère l’horloge de référence utilisée par le filtre. |
Arrêter | Arrête le filtre. |
Suspendre | Interrompt le filtre. |
Exécuter | Permet d'exécuter le filtre. |
Méthodes IBaseFilter | Description |
Énumérations | Énumère les broches de ce filtre. |
FindPin | Récupère la broche avec l’identificateur spécifié. |
QueryFilterInfo | Récupère des informations sur le filtre. |
JoinFilterGraph | Avertit le filtre qu’il a joint ou quitté un graphe de filtre. |
QueryVendorInfo | Récupère une chaîne contenant des informations sur le fournisseur. |
IaMovieSetup, méthodes | Description |
S’inscrire | Ajoute le filtre au Registre. |
Unregister | Supprime le filtre du Registre. |
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|