Méthode CVideoTransformFilter.ShouldSkipFrame
[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 ShouldSkipFrame
méthode détermine si le filtre doit supprimer un exemple spécifié.
Syntaxe
BOOL ShouldSkipFrame(
IMediaSample *pIn
);
Paramètres
-
épingler
-
Pointeur vers l’interface IMediaSample de l’exemple.
Valeur renvoyée
Retourne TRUE si le filtre doit supprimer cet exemple, ou FALSE si le filtre doit traiter cet exemple.
Notes
Cette méthode retourne TRUE si les conditions suivantes sont remplies :
- L’exemple comporte des horodatages.
- Le temps de décodage moyen est d’au moins 25 % de la durée de l’image.
- Le convertisseur est actuellement en retard d’au moins une image, comme indiqué dans les messages de qualité.
- Si vous passez à l’image clé suivante, le frame n’arrive pas plus d’une image plus tôt.
À des fins de ce calcul, le filtre enregistre les informations suivantes lors du traitement des données :
- Temps de décodage moyen sur les 20 dernières images (m_itrAvgDecode)
- Nombre d’images depuis la dernière image clé (m_nFramesSinceKeyFrame)
- Estimation du nombre d’images entre les images clés (m_nKeyFramePeriod)
Une fois que le filtre supprime un cadre, il continue à supprimer des images jusqu’à ce qu’il atteigne le cadre clé suivant. Si cette méthode retourne TRUE, elle envoie également un événement EC_QUALITY_CHANGE au Gestionnaire de graphe de filtres.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|