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