Metodo CBaseRenderer.PrepareReceive
[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 PrepareReceive
metodo prepara il filtro per eseguire il rendering di un esempio.
Sintassi
virtual HRESULT PrepareReceive(
IMediaSample *pMediaSample
);
Parametri
-
pMediaSample
-
Puntatore all'interfaccia IMediaSample dell'esempio.
Valore restituito
Restituisce un valore HRESULT . I valori possibili includono quelli nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
non riuscito. |
|
Errore imprevisto. |
|
Il filtro elimina questo esempio. |
Commenti
Il filtro chiama questo metodo dall'interno del metodo CBaseRenderer::Receive , prima di eseguire il rendering di un esempio. Se il filtro è in esecuzione, questo metodo pianifica l'esempio per il rendering.
Se il filtro ha già un esempio in sospeso o se il flusso finale è già stato raggiunto, il metodo restituisce E_UNEXPECTED. Probabilmente il filtro upstream non serializza correttamente le chiamate di streaming.
Se l'algoritmo di pianificazione determina che l'esempio deve essere eliminato (vedere CBaseRenderer::ScheduleSample), il metodo restituisce VFW_E_SAMPLE_REJECTED. Tuttavia, il metodo IMemInputPin::Receive non passa questo codice di errore al filtro upstream, perché l'eliminazione di un esempio non è un errore.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|