Compartir a través de


Método IMFDeviceTransform::P rocessOutput (mftransform.h)

El método ProcessOutput obtiene la salida procesada de los flujos de salida MFT del dispositivo.

Sintaxis

HRESULT ProcessOutput(
  [in] DWORD                  dwFlags,
  [in] DWORD                  cOutputBufferCount,
  [in] MFT_OUTPUT_DATA_BUFFER *pOutputSample,
  [in] DWORD                  *pdwStatus
);

Parámetros

[in] dwFlags

OR bit a bit de cero o más marcas de la enumeración _MFT_PROCESS_OUTPUT_FLAGS .

[in] cOutputBufferCount

Número de elementos de la matriz pOutputSamples . El valor debe ser al menos 1.

[in] pOutputSample

Puntero a una matriz de estructuras de MFT_OUTPUT_DATA_BUFFER asignadas por el autor de la llamada. MFT usa esta matriz para devolver datos de salida al autor de la llamada.

[in] pdwStatus

Recibe un OR bit a bit de cero o más marcas de la enumeración _MFT_PROCESS_OUTPUT_STATUS .

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
S_OK
El método se realizó correctamente.
E_INVALIDARG
Argumento no válido pasado.
MF_E_INVALIDREQUEST
El dispositivo MFT no pudo admitir la solicitud en este momento.
MF_E_INVAILIDSTREAMNUMBER
Se pasó un identificador de secuencia no válido.
MF_E_INVALID_STREAM_STATE
La transición de flujo solicitada no es posible.
MF_E_TRANSFORM_TYPE_NOT_SET
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, la transformación de Media Foundation (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 pérdidas de memoria.

Una vez que el administrador de transformaciones de dispositivos (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

   
Cliente mínimo compatible Windows 10, versión 1703
Plataforma de destino Windows
Encabezado mftransform.h

Consulte también

IMFDeviceTransform