Método IMFTransform::SetOutputBounds (mftransform.h)
Define o intervalo de carimbos de data/hora que o cliente precisa para a saída.
Sintaxe
HRESULT SetOutputBounds(
LONGLONG hnsLowerBound,
LONGLONG hnsUpperBound
);
Parâmetros
hnsLowerBound
Especifica o carimbo de data/hora mais antigo. A MFT (transformação do Media Foundation) aceitará a entrada até que possa produzir um exemplo de saída que comece neste momento; ou até que possa produzir um exemplo que termine neste momento ou posterior. Se não houver limite inferior, use o valor MFT_OUTPUT_BOUND_LOWER_UNBOUNDED.
hnsUpperBound
Especifica o carimbo de data/hora mais recente. O MFT não produzirá uma amostra de saída com carimbos de data/hora posteriores a essa hora. Se não houver limite superior, use o valor MFT_OUTPUT_BOUND_UPPER_UNBOUNDED.
Valor retornado
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
Não implementado. |
|
O tipo de mídia não está definido em um ou mais fluxos. |
Comentários
Esse método pode ser usado para otimizar o pré-registro, especialmente em formatos que têm lacunas entre carimbos de data/hora ou formatos em que os dados devem começar em um ponto de sincronização, como MPEG-2. Chamar esse método é opcional e a implementação desse método por um MFT é opcional. Se o MFT não implementar o método , o valor retornado será E_NOTIMPL.
Se um MFT implementar esse método, ele deverá limitar seus dados de saída ao intervalo de vezes especificado por hnsLowerBound e hnsUpperBound. O MFT descarta todos os dados de entrada que não são necessários para produzir saída dentro desse intervalo. Se os limites de exemplo não corresponderem exatamente ao intervalo, o MFT deverá dividir os exemplos de saída, se possível. Caso contrário, os exemplos de saída podem sobrepor o intervalo.
Por exemplo, suponha que o intervalo de saída seja de 100 a 150 milissegundos (ms) e o formato de saída seja um vídeo com cada quadro com duração de 33 ms. Um exemplo com um carimbo de data/hora de 67 ms sobrepõe o intervalo (67 + 33 = 100) e é produzido como saída. Uma amostra com um carimbo de data/hora de 66 ms é descartada (66 + 33 = 99). Da mesma forma, um exemplo com um carimbo de data/hora de 150 ms é produzido como saída, mas uma amostra com um carimbo de data/hora de 151 é descartada.
Se MFT_UNIQUE_METHOD_NAMES for definido antes de incluir mftransform.h, esse método será renomeado como MFTSetOutputBounds. Consulte Criando objetos DMO/MFT híbridos.
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] |
Plataforma de Destino | Windows |
Cabeçalho | mftransform.h |
Biblioteca | Mfuuid.lib |