Metodo CTransInPlaceFilter.Receive

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il Receive metodo riceve un campione multimediale, lo elabora e lo distribuisce al filtro downstream.

Sintassi

HRESULT Receive(
   IMediaSample *pSample
);

Parametri

pSample

Puntatore all'interfaccia IMediaSample nell'esempio.

Valore restituito

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

Codice restituito Descrizione
S_OK
Operazione riuscita
E_UNEXPECTED
Errore imprevisto

Commenti

Il pin di input del filtro chiama questo metodo quando riceve un esempio. Il filtro chiama il metodo Transform , che la classe derivata deve implementare. Il metodo Transform elabora i dati. Se il filtro usa un solo allocatore, passa pSample direttamente al metodo Transform . In caso contrario, copia pSample e passa la copia.

Se il metodo Transform restituisce S_FALSE, il Receive metodo elimina l'esempio. Nel primo esempio eliminato, il filtro invia un evento EC_QUALITY_CHANGE al gestore del grafo dei filtri. In caso contrario, se il metodo Transform restituisce S_OK, il filtro restituisce l'esempio di output. A tale scopo, chiama il metodo IMemInputPin::Receive sul pin di input downstream.

Requisiti

Requisito Valore
Intestazione
Transip.h (include Streams.h)
Libreria
Strmbase.lib (build retail);
Strmbasd.lib (build di debug)

Vedi anche

Classe CTransInPlaceFilter