Método IMFDeviceTransform::P rocessInput (mftransform.h)
El método ProcessInput entrega datos a un flujo de entrada en esta transformación de Media Foundation (MFT).
Sintaxis
HRESULT ProcessInput(
[in] DWORD dwInputStreamID,
[in] IMFSample *pSample,
[in] DWORD dwFlags
);
Parámetros
[in] dwInputStreamID
Identificador de flujo de entrada.
[in] pSample
Puntero a la interfaz IMFSample del ejemplo de entrada. El ejemplo debe contener al menos un búfer multimedia que contenga datos de entrada válidos.
[in] dwFlags
Debe ser cero.
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 método se realizó correctamente. |
|
Argumento no válido pasado. |
|
El dispositivo MFT no pudo admitir la solicitud en este momento. |
|
Se pasó un identificador de secuencia no válido. |
|
La transición de flujo solicitada no es posible. |
|
No se ha establecido el tipo de medio de entrada. |
Comentarios
En la mayoría de los casos, si el método se realiza correctamente, el MFT almacena la muestra y contiene un recuento de referencias en el puntero IMFSample . Cuando el MFT se realiza mediante el ejemplo, debe liberarlo para evitar una pérdida de memoria.
Una vez que el DTM ha establecido tipos de medios válidos en todas las secuencias, MFT siempre debe ser capaz de aceptar más entrada y poder generar más salida.
Si un MFT encuentra un error no irrecuperable en los datos de entrada, simplemente puede quitar los datos e intentar recuperarse cuando obtiene más datos de entrada. Si el MFT quita datos, debe establecer el atributo MFSampleExtension_Discontinuity en el siguiente ejemplo de salida para notificar al autor de la llamada que hay un hueco en el flujo de datos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 1703 |
Plataforma de destino | Windows |
Encabezado | mftransform.h |