Freigeben über


CBaseRenderer.GetSampleTimes-Methode

[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 GetSampleTimes -Methode ruft die Zeitstempel aus einem Beispiel ab.

Syntax

virtual HRESULT GetSampleTimes(
   IMediaSample   *pMediaSample,
   REFERENCE_TIME *pStartTime,
   REFERENCE_TIME *pEndTime
);

Parameter

pMediaSample

Zeiger auf die IMediaSample-Schnittstelle des Beispiels.

pStartTime

Zeiger auf eine Variable, die die Startzeit empfängt.

pEndTime

Zeiger auf eine Variable, die die Endzeit empfängt.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.

Rückgabecode Beschreibung
S_OK
Das Beispiel sollte sofort gerendert werden.
S_FALSE
Das Beispiel sollte basierend auf den Zeitstempeln für das Rendern geplant werden.
E_FAIL
Rendern Sie dieses Beispiel nicht.
VFW_E_START_TIME_AFTER_END
Ungültiger Zeitstempel: Die Endzeit liegt vor der Startzeit.

Bemerkungen

Der Filter ruft diese Methode auf, um zu bestimmen, wie ein Beispiel behandelt werden soll. Wenn der Rückgabewert S_OK ist, rendert der Filter das Beispiel sofort. Wenn der Rückgabewert S_FALSE ist, plant der Filter das Rendern des Beispiels basierend auf den Zeitstempeln. Wenn der Rückgabewert ein Fehlercode ist, lehnt der Filter das Beispiel ab.

Diese Methode gibt S_OK zurück, wenn das Beispiel über keine Zeitstempel verfügt oder der Filter keine Referenzuhr hat. Andernfalls wird der Wert der CBaseRenderer::ShouldDrawSampleNow-Methode zurückgegeben. In der Basisklasse gibt ShouldDrawSampleNow immer S_FALSE zurück. Die abgeleitete Klasse kann dieses Verhalten überschreiben. Wenn die abgeleitete Klasse beispielsweise die Verwaltung der Qualitätskontrolle implementiert, gibt sie möglicherweise E_FAIL zurück, um ein Beispiel zu löschen.

Anforderungen

Anforderung Wert
Header
Renbase.h (streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBaseRenderer-Klasse