Compartir a través de


Método IMFTransform::SetOutputBounds (mftransform.h)

Establece el intervalo de marcas de tiempo que el cliente necesita para la salida.

Sintaxis

HRESULT SetOutputBounds(
  LONGLONG hnsLowerBound,
  LONGLONG hnsUpperBound
);

Parámetros

hnsLowerBound

Especifica la marca de tiempo más antigua. La transformación de Media Foundation (MFT) aceptará la entrada hasta que pueda generar una muestra de salida que comience en este momento; o hasta que pueda generar una muestra que termine en este momento o posterior. Si no hay ningún límite inferior, use el valor MFT_OUTPUT_BOUND_LOWER_UNBOUNDED.

hnsUpperBound

Especifica la marca de tiempo más reciente. El MFT no generará un ejemplo de salida con marcas de tiempo posteriores a esta vez. Si no hay ningún límite superior, use el valor MFT_OUTPUT_BOUND_UPPER_UNBOUNDED.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_NOTIMPL
Sin implementar.
MF_E_TRANSFORM_TYPE_NOT_SET
El tipo de medio no se establece en una o varias secuencias.

Comentarios

Este método se puede usar para optimizar la inscripción previa, especialmente en formatos que tienen huecos entre marcas de tiempo o formatos en los que los datos deben iniciarse en un punto de sincronización, como MPEG-2. Llamar a este método es opcional y la implementación de este método mediante MFT es opcional. Si el MFT no implementa el método , el valor devuelto es E_NOTIMPL.

Si un MFT implementa este método, debe limitar sus datos de salida al intervalo de tiempos especificados por hnsLowerBound y hnsUpperBound. El MFT descarta los datos de entrada que no son necesarios para generar la salida dentro de este intervalo. Si los límites de ejemplo no coinciden exactamente con el intervalo, MFT debe dividir las muestras de salida, si es posible. De lo contrario, los ejemplos de salida pueden superponerse al intervalo.

Por ejemplo, supongamos que el intervalo de salida es de 100 a 150 milisegundos (ms) y el formato de salida es vídeo con cada fotograma que dura 33 ms. Una muestra con una marca de tiempo de 67 ms se superpone al intervalo (67 + 33 = 100) y se genera como salida. Se descarta una muestra con una marca de tiempo de 66 ms (66 + 33 = 99). De forma similar, se produce una muestra con una marca de tiempo de 150 ms como salida, pero se descarta una muestra con una marca de tiempo de 151.

Si MFT_UNIQUE_METHOD_NAMES se define antes de incluir mftransform.h, se cambia el nombre de este método a MFTSetOutputBounds. Consulte Creación de objetos DMO/MFT híbridos.

Requisitos

   
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado mftransform.h
Library Mfuuid.lib

Consulte también

IMFTransform

Transformaciones de Media Foundation