enumeração _MFT_OUTPUT_DATA_BUFFER_FLAGS (mftransform.h)
Define sinalizadores para o método IMFTransform::P rocessOutput .
Syntax
typedef enum _MFT_OUTPUT_DATA_BUFFER_FLAGS {
MFT_OUTPUT_DATA_BUFFER_INCOMPLETE = 0x1000000,
MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE = 0x100,
MFT_OUTPUT_DATA_BUFFER_STREAM_END = 0x200,
MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE = 0x300
} ;
Constantes
MFT_OUTPUT_DATA_BUFFER_INCOMPLETE Valor: 0x1000000 O MFT ainda pode gerar saída desse fluxo sem receber mais nenhuma entrada. Chame ProcessOutput novamente para processar o próximo lote de dados de entrada. |
MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE Valor: 0x100 O formato foi alterado nesse fluxo de saída ou há um novo formato preferencial para esse fluxo. Quando esse sinalizador é definido, o MFT limpa o tipo de mídia do fluxo. O método ProcessOutput retorna MF_E_TRANSFORM_STREAM_CHANGE e não gera nenhuma saída para nenhum fluxo. Outras chamadas para IMFTransform::P rocessInput ou ProcessOutput falharão até que o cliente defina um novo tipo de mídia. |
MFT_OUTPUT_DATA_BUFFER_STREAM_END Valor: 0x200 O MFT removeu esse fluxo de saída. O fluxo de saída deve ter o sinalizador MFT_OUTPUT_STREAM_REMOVABLE. (Consulte IMFTransform::GetOutputStreamInfo.) Quando o MFT remove um fluxo de saída, o MFT retorna esse código status na próxima chamada para ProcessOutput após a última amostra de saída ter sido produzida. Quando o MFT retorna esse código status, ele não modifica nenhuma amostra contida no membro pSample da estrutura MFT_OUTPUT_DATA_BUFFER, nem aloca um novo exemplo se pSample for NULL. Depois que esse código status é retornado, o identificador de fluxo para esse fluxo de saída não é mais válido. O cliente não deve mais fornecer uma estrutura MFT_OUTPUT_DATA_BUFFER para esse fluxo quando chama ProcessOutput. O método ProcessOutput não retorna MF_E_TRANSFORM_STREAM_CHANGE quando um fluxo termina, a menos que haja uma alteração em outro fluxo que exija esse código de retorno. |
MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE Valor: 0x300 Não há nenhum exemplo pronto para este fluxo. Esse sinalizador poderá ser definido se o MFT tiver vários fluxos de saída que produzem dados em momentos diferentes. Ele define esse sinalizador para cada fluxo que não está pronto para produzir dados. Ele não modifica o exemplo de saída contido no membro pSample da estrutura MFT_OUTPUT_DATA_BUFFER , nem aloca um novo exemplo é que pSample é NULL. Se nenhum fluxo estiver pronto para produzir saída, o MFT não definirá esse sinalizador. Em vez disso, o método ProcessOutput retorna MF_E_TRANSFORM_NEED_MORE_INPUT. |
Comentários
Os valores nessa enumeração não são sinalizadores de bits, portanto, eles não devem ser combinados com um OR bit a bit. Além disso, o chamador deve testar esses sinalizadores com o operador de igualdade, não um AND bit a bit:
// Correct.
if (Buffer.dwStatus == MFT_OUTPUT_DATA_BUFFER_STREAM_END)
{
...
}
// Incorrect.
if ((Buffer.dwStatus & MFT_OUTPUT_DATA_BUFFER_STREAM_END) != 0)
{
...
}
Requisitos
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Cabeçalho | mftransform.h |