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 |
---|---|
|
O método foi bem-sucedido. |
|
Argumento inválido passado. |
|
O MFT do dispositivo não pôde dar suporte à solicitação no momento. |
|
Uma ID de fluxo inválida foi passada. |
|
A transição de fluxo solicitada não é possível. |
|
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 |