Compartilhar via


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

O método ProcessInput fornece dados para um fluxo de entrada nesta MFT (transformação do Media Foundation).

Sintaxe

HRESULT ProcessInput(
  [in] DWORD     dwInputStreamID,
  [in] IMFSample *pSample,
  [in] DWORD     dwFlags
);

Parâmetros

[in] dwInputStreamID

Identificador de fluxo de entrada.

[in] pSample

Ponteiro para a interface IMFSample do exemplo de entrada. O exemplo deve conter pelo menos um buffer de mídia que contenha dados de entrada válidos.

[in] dwFlags

Deve ser zero.

Retornar valor

O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam aos valores fornecidos na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_INVALIDARG
Argumento inválido passado.
MF_E_INVALIDREQUEST
O MFT do dispositivo não pôde dar suporte à solicitação no momento.
MF_E_INVAILIDSTREAMNUMBER
Uma ID de fluxo inválida foi passada.
MF_E_INVALID_STREAM_STATE
A transição de fluxo solicitada não é possível.
MF_E_TRANSFORM_TYPE_NOT_SET
O tipo de mídia de entrada não foi definido.

Comentários

Na maioria dos casos, se o método for bem-sucedido, o MFT armazenará o exemplo e conterá uma contagem de referência no ponteiro IMFSample . Quando o MFT terminar de usar o exemplo, ele deverá liberá-lo para evitar um vazamento de memória.

Depois que o DTM definir tipos de mídia válidos em todos os fluxos, o MFT sempre poderá aceitar mais entradas e ser capaz de produzir mais saída.

Se um MFT encontrar um erro não fatal nos dados de entrada, ele poderá simplesmente remover os dados e tentar recuperar quando obter mais dados de entrada. Se o MFT descartar qualquer dado, ele deverá definir o atributo MFSampleExtension_Discontinuity no próximo exemplo de saída, para notificar o chamador de que há uma lacuna no fluxo de dados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1703
Plataforma de Destino Windows
Cabeçalho mftransform.h

Confira também

IMFDeviceTransform