Método IMFTransform::P rocessEvent (mftransform.h)
Envía un evento a un flujo de entrada en esta transformación de Media Foundation (MFT).
Sintaxis
HRESULT ProcessEvent(
[in] DWORD dwInputStreamID,
[in] IMFMediaEvent *pEvent
);
Parámetros
[in] dwInputStreamID
Identificador de flujo de entrada. Para obtener la lista de identificadores de flujo, llame a IMFTransform::GetStreamIDs.
[in] pEvent
Puntero a la interfaz IMFMediaEvent de un objeto de evento.
Valor devuelto
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Código devuelto | Descripción |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
Sin implementar. |
|
Número de flujo no válido. |
|
El tipo de medio no se establece en una o varias secuencias. |
|
La canalización no debe propagar el evento. |
Comentarios
Un MFT puede controlar el envío del evento de bajada, o bien puede permitir que la canalización lo haga, como se indica en el valor devuelto:
- E_NOTIMPL: MFT omite todos los eventos y la canalización debe enviar todos los eventos de bajada. Una vez que la canalización recibe este valor devuelto, es posible que no vuelva a llamar a ProcessEvent .
- S_OK: MFT ha examinado este evento, pero la canalización debe enviar el evento de bajada. Internamente, el MFT podría responder al evento de alguna manera, o puede omitir el evento.
- MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT: la canalización no debe propagar este evento de bajada. El MFT enviará el evento de bajada o, de lo contrario, el MFT consumirá el evento y no lo enviará de bajada. El MFT solo debe consumir el evento si el evento debe detenerse en este MFT y no viajar más abajo. Pero en la mayoría de los casos, el evento debe viajar de bajada.
Los eventos se deben serializar con las muestras que vienen antes y después de ellos. Adjunte el evento al ejemplo de salida que sigue al evento . (La canalización procesará primero el evento y, a continuación, el ejemplo). Si un MFT mantiene una o varias muestras entre llamadas a IMFTransform::P rocessInput y ProcessOutput, el MFT debe controlar el envío de todos los eventos de bajada, ya que en esta situación la canalización no puede correlacionar muestras de entrada con muestras de salida.
Si un MFT no mantiene muestras de retroceso y no necesita examinar ningún evento, puede devolver E_NOTIMPL.
Si MFT_UNIQUE_METHOD_NAMES se define antes de incluir mftransform.h, se cambia el nombre de este método a MFTProcessEvent. Consulte Creación de objetos DMO/MFT híbridos.
Requisitos
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | mftransform.h |
Library | Mfuuid.lib |