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
S_OK
O método foi bem-sucedido.
E_NOTIMPL
Não implementado.
MF_E_TRANSFORM_TYPE_NOT_SET
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

Confira também

IMFTransform

Transformações do Media Foundation