Classe CBaseVideoRenderer

[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.]

Hiérarchie de classes cbasevideorenderer

La CBaseVideoRenderer classe de base est utilisée pour créer des filtres de convertisseur vidéo.

Membres de données protégés Description
m_bDrawLateFrames Indicateur pour signaler qu’aucune image ne doit être supprimée. Déboguer uniquement. Cela détruit la synchronisation.
m_bSupplierHandlingQuality TRUE indique que les messages de contrôle qualité sont gérés. Cela permet au convertisseur de savoir qu’il faut attendre le plus tard possible pour supprimer les images et afficher le cadre suivant très tôt une fois que le fournisseur a supprimé un cadre.
m_cFramesDrawn Nombre total d’images qui ont été dessinées depuis le début de la diffusion en continu.
m_cFramesDropped Images cumulatives qui ont été supprimées dans le convertisseur depuis le début de la diffusion en continu. Les images peuvent également être supprimées amont sans que le convertisseur les reconnaisse.
m_idDecision MSR_id pour le code de décision de ShouldDrawSampleNow.
m_idDuration MSR_id pour la durée d’un frame.
m_idFrameAccuracy Identificateur du journal de performances pour la durée en millisecondes de retard de l’image.
m_idFrameAvg Identificateur du journal de performances pour le temps d’exécution moyen utilisé pour la synchronisation et le contrôle qualité.
m_idQualityRate MSR_id pour le taux de qualité demandé.
m_idQualityTime MSR_id pour le temps de qualité demandé.
m_idRenderAvg Identificateur du journal des performances pour le temps moyen enregistré par le convertisseur.
m_idSchLateTime MSR_id de la durée de la planification de l’image.
m_idSendQuality MSR_id pour le minutage des notifications (inutilisées).
m_idTimeStamp MSR_id pour un horodatage d’image.
m_idWait Identificateur du journal de performances pour le temps d’attente enregistré (inutilisé).
m_idWaitReal Identificateur du journal de performances pour le temps d’attente réel.
m_iSumFrameTime Somme des temps interframes ; nécessaire pour la page de propriétés.
m_iSumSqAcc Somme des carrés des précisions (en millisecondes) nécessaires pour la page de propriétés.
m_iSumSqFrameTime Somme des carrés des temps interframes ; nécessaire pour la page de propriétés.
m_iTotAcc Somme des précisions (en millisecondes) nécessaires pour la page de propriétés.
m_nNormal Nombre d’images consécutives dessinées à leur heure planifiée. Un nombre négatif indique qu’une image vient d’être supprimée par le convertisseur.
m_trDuration Durée de la dernière image (différence entre les heures de début et de fin).
m_trEarliness La durée de lecture d’une trame est autorisée quand une image vient d’être supprimée.
m_trFrame La dernière fois entre les périodes enregistrées. Utilisé dans les mesures statistiques.
m_trFrameAvg Temps interframe moyen en unités de temps de référence.
m_trLastDraw Heure de l’image précédente. Utilisé pour les références de temps interframe.
m_trLate Durée pendant laquelle l’image actuelle a été en retard. Utilisé dans les mesures statistiques.
m_trRenderAvg Temps nécessaire pour effectuer le transfert de bloc de bits.
m_trRenderLast Heure du dernier transfert de bloc de bits d’image.
m_trRenderStart Heure à laquelle le transfert de bloc de bits a démarré. Utilisé pour obtenir m_trRenderLast.
m_trThrottle Période à insérer après le rendu de chaque image, généralement utilisée lorsque la qualité audio a été augmentée et que les performances vidéo doivent être réduites pour permettre cela.
m_trWaitAvg Temps d’attente moyen dans les unités de temps de référence.
m_tStreamingStart Utilisé pour les statistiques de page de propriétés. Représente l’heure de début du processus de diffusion en continu actuel ou du processus de streaming précédent s’il n’est pas en cours de diffusion en continu.
Fonctions de membre Description
CBaseVideoRenderer Construit un objet CBaseVideoRenderer .
GetStdDev Estime l’écart type en millisecondes entre le moment où chaque image est due et le moment où elle est réellement rendue, pour les statistiques par image.
PreparePerformanceData Définit les valeurs m_trLate et m_trFrame de l’image actuelle.
ThrottleWait Insère une période d’attente après chaque image.
Fonctions membres substituables Description
JoinFilterGraph Envoie un événement EC_WINDOW_DESTROYED lorsque le filtre est supprimé du graphique de filtre.
OnDirectRender Collecte des informations de minutage qui contrôlent la synchronisation et le contrôle qualité.
OnRenderEnd Enregistre des informations pour le contrôle qualité et la synchronisation.
OnRenderStart Enregistre des informations pour le contrôle qualité et la synchronisation.
OnStartStreaming Réinitialise toutes les fois qui contrôlent la diffusion en continu.
OnStopStreaming Appelé à la fin de la diffusion en continu pour corriger les heures du rapport de page de propriétés.
OnWaitEnd Appelé lorsqu’un temps d’attente se termine. Journalisation des performances uniquement.
OnWaitStart Mises à jour temps passé à attendre et pas à attendre. Journalisation des performances uniquement.
RecordFrameLateness Enregistre l’heure à laquelle le rendu s’est produit et collecte des statistiques pour la page de propriétés.
ResetStreamingTimes Réinitialise toutes les fois qui contrôlent la diffusion en continu.
ScheduleSample Configure un lien de conseil avec l’horloge.
SendQuality Envoie un message de qualité pour indiquer ce que le fournisseur doit faire en ce qui concerne la qualité.
ShouldDrawSampleNow Détermine si la vidéo doit être dessinée quand elle est due, sans définir un lien de conseil de minuteur avec l’horloge.
IQualProp, méthodes Description
get_Avg FrameRate Récupère la fréquence d’images moyenne depuis le démarrage de la diffusion en images toutes les 100 secondes.
get_AvgSyncOffset Récupère la moyenne du temps en millisecondes entre le moment où chaque image était due et le moment où elle a été réellement rendue. Cela s’applique à toutes les images depuis le début de la diffusion en continu.
get_DevSyncOffset Récupère l’écart type du temps, en millisecondes, entre le moment où chaque image était due et le moment où elle a été réellement rendue pour toutes les images depuis le début de la diffusion en continu.
get_FramesDrawn Récupère le nombre d’images dessinées depuis le début de la diffusion en continu.
get_FramesDroppedInRenderer Récupère le nombre d’images supprimées par le convertisseur. Les images peuvent également être supprimées amont.
get_Jitter Récupère l’écart type du temps en millisecondes entre chaque image et la suivante. Cela s’applique à toutes les images depuis le début de la diffusion en continu.
IQualityControl, méthodes Description
Notifier Avertit le destinataire qu’un changement de qualité est demandé.
SetSink Définit l’objet IQualityControl qui recevra des messages de qualité.