CVideoTransformFilter.ShouldSkipFrame-Methode
Die ShouldSkipFrame -Methode bestimmt, ob der Filter ein angegebenes Beispiel löschen soll.
Syntax
BOOL ShouldSkipFrame(
IMediaSample *pIn
);
Parameter
-
Pin
-
Zeiger auf die IMediaSample-Schnittstelle des Beispiels.
Rückgabewert
Gibt TRUE zurück, wenn der Filter dieses Beispiel löschen soll, oder FALSE, wenn der Filter dieses Beispiel verarbeiten soll.
Bemerkungen
Diese Methode gibt TRUE zurück, wenn die folgenden Bedingungen erfüllt sind:
- Das Beispiel verfügt über Zeitstempel.
- Die durchschnittliche Decodierungszeit beträgt mindestens 25 % der Framedauer.
- Der Renderer ist derzeit mindestens ein Frame zu spät, wie über Qualitätsmeldungen gemeldet.
- Das Überspringen auf den nächsten Keyframe würde nicht dazu führen, dass der Frame mehr als einen Frame früh erreicht.
Für diese Berechnung zeichnet der Filter beim Verarbeiten von Daten die folgenden Informationen auf:
- Die durchschnittliche Decodierungszeit für die letzten 20 Frames (m _ itrAvgDecode)
- Die Anzahl der Frames seit dem letzten Keyframe (m _ nFramesSinceKeyFrame)
- Eine Schätzung der Anzahl von Frames zwischen Keyframes (m _ nKeyFramePeriod)
Sobald der Filter einen Frame löscht, löscht er frames bis zum nächsten Keyframe. Wenn diese Methode TRUE zurückgibt, sendet sie auch ein EC QUALITY _ _ CHANGE-Ereignis an den Filter Graph Manager.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|