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 |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
Sin implementar. |
|
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 |