Freigeben über


CBaseVideoRenderer-Klasse

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

cbasevideorenderer-Klassenhierarchie

Die CBaseVideoRenderer Basisklasse wird zum Erstellen von Videorendererfiltern verwendet.

Geschützte Datenmember Beschreibung
m_bDrawLateFrames Flag, um zu signalisieren, dass keine Frames gelöscht werden sollen. Nur Debuggen. Dadurch wird die Synchronisierung zerstört.
m_bSupplierHandlingQuality TRUE gibt an, dass Qualitätskontrollmeldungen verarbeitet werden. Dadurch kann der Renderer so spät wie möglich warten, um Frames selbst zu löschen und den nächsten Frame sehr früh anzuzeigen, nachdem der Lieferant einen Frame abgelegt hat.
m_cFramesDrawn Gesamtanzahl der Frames, die seit Beginn des Streamings gezeichnet wurden.
m_cFramesDropped Kumulative Frames, die seit Beginn des Streamings im Renderer gelöscht wurden. Frames können auch Upstream gelöscht werden, ohne dass der Renderer sie erkennt.
m_idDecision MSR_id für den Entscheidungscode von ShouldDrawSampleNow.
m_idDuration MSR_id für die Dauer eines Frames.
m_idFrameAccuracy Leistungsprotokollbezeichner für die Zeit in Millisekunden, zu der der Frame verspätet war.
m_idFrameAvg Leistungsprotokollbezeichner für die durchschnittliche Framezeit, die für Synchronisierung und Qualitätskontrolle verwendet wird.
m_idQualityRate MSR_id für die angeforderte Qualitätsrate.
m_idQualityTime MSR_id für die angeforderte Qualitätszeit.
m_idRenderAvg Leistungsprotokollbezeichner für die durchschnittliche aufgezeichnete Rendererzeit.
m_idSchLateTime MSR_id, wie spät der Frame beim Geplanten war.
m_idSendQuality MSR_id zum Timing der Benachrichtigungen (nicht verwendet).
m_idTimeStamp MSR_id für einen Framezeitstempel.
m_idWait Leistungsprotokollbezeichner für die aufgezeichnete Wartezeit (nicht verwendet).
m_idWaitReal Leistungsprotokollbezeichner für die tatsächliche Wartezeit.
m_iSumFrameTime Summe der Interframezeiten; für die Eigenschaftenseite erforderlich.
m_iSumSqAcc Summe der Quadrate der Genauigkeiten (in Millisekunden), die für die Eigenschaftenseite benötigt werden.
m_iSumSqFrameTime Summe der Quadrate der Interframezeiten; für die Eigenschaftenseite erforderlich.
m_iTotAcc Summe der Genauigkeiten (in Millisekunden), die für die Eigenschaftenseite erforderlich sind.
m_nNormal Anzahl der aufeinanderfolgenden Frames, die zur geplanten Zeit gezeichnet wurden. Eine negative Zahl gibt an, dass ein Frame gerade vom Renderer gelöscht wurde.
m_trDuration Dauer des letzten Frames (Unterschied zwischen Start- und Endzeit).
m_trEarliness Wie früh ein Frame wiedergegeben werden darf, wenn ein Frame gerade gelöscht wurde.
m_trFrame Zuletzt aufgezeichnete Zeit zwischen Frames. Wird in statistischen Messungen verwendet.
m_trFrameAvg Durchschnittliche Interframezeit in Bezugszeiteinheiten.
m_trLastDraw Zeit des vorherigen Frames. Wird für Interframe-Zeitverweise verwendet.
m_trLate Die Zeitspanne, in der der aktuelle Frame verspätet war. Wird in statistischen Messungen verwendet.
m_trRenderAvg Zeit, die frames für die Bitblockübertragung in Anspruch nehmen.
m_trRenderLast Zeit für die letzte Frame-Bitblockübertragung.
m_trRenderStart Zeitpunkt des Beginns der Bitblockübertragung. Wird verwendet, um m_trRenderLast zu erhalten.
m_trThrottle Der Einfügezeitraum nach dem Rendern der einzelnen Frames wird in der Regel verwendet, wenn die Audioqualität erhöht wurde und die Videoleistung verringert werden muss, um dies zu ermöglichen.
m_trWaitAvg Durchschnittliche Wartezeit in Bezugszeiteinheiten.
m_tStreamingStart Wird für Eigenschaftenseitenstatistiken verwendet. Stellt die Startzeit des aktuellen Streamingprozesses oder des vorherigen Streamingprozesses dar, wenn kein Streaming zurzeit erfolgt.
Elementfunktionen Beschreibung
CBaseVideoRenderer Erstellt ein CBaseVideoRenderer-Objekt .
GetStdDev Schätzt die Standardabweichung in Millisekunden zwischen dem Zeitpunkt, an dem jeder Frame fällig ist und wann er tatsächlich gerendert wird, für Statistiken pro Frame.
PreparePerformanceData Legt die m_trLate und m_trFrame Werte des aktuellen Frames fest.
DrosselungWait Fügt nach jedem Frame einen Wartezeitraum ein.
Überschreibbare Memberfunktionen Beschreibung
JoinFilterGraph Sendet ein EC_WINDOW_DESTROYED-Ereignis , wenn der Filter aus dem Filterdiagramm entfernt wird.
OnDirectRender Sammelt Zeitinformationen, die die Synchronisierung und Qualitätskontrolle steuern.
OnRenderEnd Zeichnet Informationen zur Qualitätskontrolle und Synchronisierung auf.
OnRenderStart Zeichnet Informationen zur Qualitätskontrolle und Synchronisierung auf.
OnStartStreaming Setzt alle Zeiten zurück, die das Streaming steuern.
OnStopStreaming Wird am Ende des Streamings aufgerufen, um die Zeiten für den Bericht der Eigenschaftenseite zu korrigieren.
OnWaitEnd Wird aufgerufen, wenn eine Wartezeit endet. Nur Leistungsprotokollierung.
OnWaitStart Updates Zeiten, die warten und nicht warten. Nur Leistungsprotokollierung.
RecordFrameLateness Zeichnet auf, wie rechtzeitig das Rendering erfolgt ist, und erfasst Statistiken für die Eigenschaftenseite.
ResetStreamingTimes Setzt alle Zeiten zurück, die das Streaming steuern.
ScheduleSample Richtet einen Ratgeberlink mit der Uhr ein.
SendQuality Sendet eine Qualitätsmeldung, um anzugeben, was der Lieferant zur Qualität tun soll.
ShouldDrawSampleNow Bestimmt, ob das Video gezeichnet werden soll, wenn es fällig ist, ohne eine Timer-Empfehlungslink mit der Uhr festzulegen.
IQualProp-Methoden Beschreibung
get_Avg FrameRate Ruft die durchschnittliche Bildrate ab, seit das Streaming in Frames pro 100 Sekunden gestartet wurde.
get_AvgSyncOffset Ruft den Durchschnitt der Zeit in Millisekunden zwischen dem Zeitpunkt ab, an dem jeder Frame fällig war und wann er tatsächlich gerendert wurde. Dies gilt für alle Frames seit Beginn des Streamings.
get_DevSyncOffset Ruft die Standardabweichung der Zeit in Millisekunden zwischen dem Zeitpunkt ab, zu dem jeder Frame fällig war und wann er tatsächlich für alle Frames gerendert wurde, seit dem Streaming gestartet wurde.
get_FramesDrawn Ruft die Anzahl der Frames ab, die seit Beginn des Streamings gezeichnet wurden.
get_FramesDroppedInRenderer Ruft die Anzahl der vom Renderer gelöschten Frames ab. Frames können auch Upstream gelöscht werden.
get_Jitter Ruft die Standardabweichung der Zeit in Millisekunden zwischen jedem Frame und dem nächsten ab. Dies gilt für alle Frames seit Beginn des Streamings.
IQualityControl-Methoden Beschreibung
Benachrichtigen Benachrichtigt den Empfänger, dass eine Qualitätsänderung angefordert wird.
SetSink Legt das IQualityControl-Objekt fest, das Qualitätsmeldungen empfängt.