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