Metodo CBaseInputPin.ReceiveMultiple

[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 ReceiveMultiple metodo riceve una matrice di esempi. Questo metodo implementa il metodo IMemInputPin::ReceiveMultiple .

Sintassi

HRESULT ReceiveMultiple(
   IMediaSample **pSamples,
   long         nSamples,
   long         *nSamplesProcessed
);

Parametri

pSamples

Indirizzo di una matrice di puntatori IMediaSample , di dimensioni nSamples.

nSamples

Numero di esempi da elaborare.

nSamplesProcessed

Puntatore a una variabile che riceve il numero di campioni elaborati.

Valore restituito

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

Codice restituito Descrizione
S_OK
Operazione completata.
S_FALSE
Il pin è attualmente in fase di scaricamento; l'esempio è stato rifiutato.
E_POINTER
Argomento puntatore NULL.
VFW_E_INVALIDMEDIATYPE
Tipo di supporto non valido.
VFW_E_RUNTIME_ERROR
Si è verificato un errore di runtime.
VFW_E_WRONG_STATE
Il pin viene arrestato.

Commenti

Questo metodo si comporta come il metodo CBaseInputPin::Receive , ma riceve una matrice di esempi. Nella classe base il metodo scorre la matrice e chiama Receive con ogni esempio. Eseguire l'override di questa funzione se il filtro può elaborare batch di campioni in modo più efficiente rispetto all'elaborazione di una volta.

Requisiti

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

Vedi anche

Classe CBaseInputPin