Método CBaseRenderer.Receive
El Receive
método recibe el siguiente ejemplo multimedia en la secuencia.
Sintaxis
virtual Receive(
IMediaSample *pMediaSample
);
Parámetros
-
pMediaSample
-
Puntero a la interfaz IMediaSample del ejemplo.
Valor devuelto
Devuelve S_OK si se ejecuta correctamente o un valor HRESULT que indica la causa del error.
Observaciones
El pin de entrada llama a este método cuando recibe un ejemplo del filtro ascendente.
Si el filtro se está ejecutando, este método realiza los pasos siguientes:
- Programa el ejemplo de representación (CBaseRenderer::P repareReceive).
- Espera la hora programada (CBaseRenderer::WaitForRenderTime).
- Representa el ejemplo (CBaseRenderer::Render).
- Libera el ejemplo (CBaseRenderer::ClearPendingSample).
Si el filtro está en pausa, el método realiza los pasos siguientes:
- Notifica a la clase derivada que hay disponible un ejemplo (CBaseRenderer::OnReceiveFirstSample).
- Espera la hora programada.
- Representa el ejemplo.
- Libera el ejemplo.
Mientras está en pausa, el método espera en el paso 2 hasta que el filtro cambia a un estado en ejecución. En ese momento, el filtro programa el ejemplo.
En la clase base, el método OnReceiveFirstSample no hace nada. La clase derivada puede invalidarlo. Por ejemplo, cuando un representador de vídeo está en pausa, muestra el primer ejemplo como una imagen fija.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|