Metodo CBaseRenderer. Receive

Il Receive metodo riceve il campione multimediale successivo nel flusso.

Sintassi

virtual Receive(
   IMediaSample *pMediaSample
);

Parametri

pMediaSample

Puntatore all'interfaccia IMediaSample dell'esempio.

Valore restituito

Restituisce _ OK se ha esito positivo o un valore HRESULT che indica la ragione dell'errore.

Commenti

Il pin di input chiama questo metodo quando riceve un esempio dal filtro upstream.

Se il filtro è in esecuzione, questo metodo esegue i passaggi seguenti:

  1. Pianifica l'esempio per il rendering (CBaseRenderer::P reparereceive).
  2. Attende l'ora pianificata (CBaseRenderer:: WaitForRenderTime).
  3. Esegue il rendering dell'esempio (CBaseRenderer:: Render).
  4. Rilascia l'esempio (CBaseRenderer:: ClearPendingSample).

Se il filtro è sospeso, il metodo esegue i passaggi seguenti:

  1. Notifica alla classe derivata che è disponibile un esempio (CBaseRenderer:: OnReceiveFirstSample).
  2. Attende l'ora pianificata.
  3. Esegue il rendering dell'esempio.
  4. Rilascia l'esempio.

Durante la pausa, il metodo attende nel passaggio 2 fino a quando il filtro passa a uno stato di esecuzione. A questo punto, il filtro pianifica l'esempio.

Nella classe di base, il metodo OnReceiveFirstSample non esegue alcuna operazione. La classe derivata può eseguire l'override. Ad esempio, quando un renderer video viene sospeso, viene visualizzato il primo campione come immagine ancora.

Requisiti

Requisito Valore
Intestazione
Renbase. h (include Streams. h)
Libreria
Strmbase. lib (compilazioni finali);
Strmbasd. lib (build di debug)

Vedi anche

Classe CBaseRenderer