Metodo CBaseRenderer.GetSampleTimes

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il GetSampleTimes metodo recupera i timestamp da un esempio.

Sintassi

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

Parametri

pMediaSample

Puntatore all'interfaccia IMediaSample dell'esempio.

pStartTime

Puntatore a una variabile che riceve l'ora di inizio.

pEndTime

Puntatore a una variabile che riceve l'ora di fine.

Valore restituito

Restituisce un valore HRESULT . I valori possibili includono quelli visualizzati nella tabella seguente.

Codice restituito Descrizione
S_OK
L'esempio deve essere eseguito immediatamente.
S_FALSE
L'esempio deve essere pianificato per il rendering, in base ai timestamp.
E_FAIL
Non eseguire il rendering di questo esempio.
VFW_E_START_TIME_AFTER_END
Timestamp non valido: l'ora di fine è precedente all'ora di inizio.

Commenti

Il filtro chiama questo metodo per determinare come gestire un esempio. Se il valore restituito è S_OK, il filtro esegue immediatamente il rendering dell'esempio. Se il valore restituito è S_FALSE, il filtro pianifica l'esempio per il rendering, in base ai timestamp. Se il valore restituito è un codice di errore, il filtro rifiuta l'esempio.

Questo metodo restituisce S_OK se l'esempio non ha timestamp o se il filtro non ha un orologio di riferimento. In caso contrario, restituisce il valore del metodo CBaseRenderer::ShouldDrawSampleNow . Nella classe di base , ShouldDrawSampleNow restituisce sempre S_FALSE. La classe derivata può eseguire l'override di questo comportamento. Ad esempio, se la classe derivata implementa la gestione del controllo qualità, potrebbe restituire E_FAIL per eliminare un esempio.

Requisiti

Requisito Valore
Intestazione
Renbase.h (includere Streams.h)
Libreria
Strmbase.lib (build al dettaglio);
Strmbasd.lib (build di debug)

Vedi anche

Classe CBaseRenderer