Método IMFDeviceTransform::P rocessEvent (mftransform.h)
El método ProcessEvent 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
Stream identificador. Para obtener la lista de identificadores de flujo, llame a IMFDeviceTransform::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, entre otros, los valores especificados en la tabla siguiente.
Código devuelto | Descripción |
---|---|
|
El evento se procesó correctamente. El evento se propagará hacia abajo. |
|
Se pasó un identificador de secuencia no válido. |
|
Indica que device MFT no quiere que el evento se propague aún más. |
|
La función no está implementada. |
Comentarios
Un MFT puede controlar el envío del evento de bajada o puede permitir que el DTM lo haga, como se indica en el valor devuelto:
- E_NOTIMPL: El MFT omite todos los eventos y DTM debe enviar todos los eventos de bajada. Después de que la canalización reciba este valor devuelto
- S_OK: El MFT ha examinado este evento, pero el DTM debe enviar el evento de bajada. Internamente, el MFT puede responder al evento de alguna manera, o bien puede omitir el evento.
- MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT: DTM 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 los ejemplos 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 retiene una o varias muestras entre llamadas a IMFTransform::P rocessInput y IMFTransform::P rocessOutput, 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.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 1703 |
Plataforma de destino | Windows |
Encabezado | mftransform.h |