Метод IMFTransform::SetOutputBounds (mftransform.h)
Задает диапазон меток времени, необходимых клиенту для вывода.
Синтаксис
HRESULT SetOutputBounds(
LONGLONG hnsLowerBound,
LONGLONG hnsUpperBound
);
Параметры
hnsLowerBound
Указывает наиболее раннюю метку времени. Преобразование Media Foundation (MFT) будет принимать входные данные до тех пор, пока не сможет создать выходной образец, который начинается в это время; или до тех пор, пока он не сможет создать образец, который заканчивается в это время или позже. Если нижняя граница отсутствует, используйте значение MFT_OUTPUT_BOUND_LOWER_UNBOUNDED.
hnsUpperBound
Указывает последнюю метку времени. MFT не создаст выходную выборку с метками времени позже этого времени. Если верхняя граница отсутствует, используйте значение MFT_OUTPUT_BOUND_UPPER_UNBOUNDED.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Не реализован. |
|
Тип мультимедиа не задан в одном или нескольких потоках. |
Комментарии
Этот метод можно использовать для оптимизации предварительной подготовки, особенно в форматах с пробелами между метками времени или форматах, в которых данные должны начинаться с точки синхронизации, например MPEG-2. Вызов этого метода необязателен, а реализация этого метода с помощью MFT необязательна. Если MFT не реализует метод , возвращаемое значение будет E_NOTIMPL.
Если MFT реализует этот метод, он должен ограничить свои выходные данные диапазоном времени, заданным hnsLowerBound и hnsUpperBound. MFT отменяет все входные данные, которые не требуются для вывода выходных данных в этом диапазоне. Если границы выборки не соответствуют диапазону, MFT должен разделить выходные выборки, если это возможно. В противном случае выходные примеры могут перекрывать диапазон.
Например, предположим, что выходной диапазон составляет от 100 до 150 миллисекунд (мс), а выходной формат — видео с каждым кадром длительностью 33 мс. Образец с меткой времени 67 мс перекрывает диапазон (67 + 33 = 100) и создается в качестве выходных данных. Образец с меткой времени 66 мс отклоняется (66 + 33 = 99). Аналогичным образом, образец с меткой времени 150 мс создается в качестве выходных данных, но образец с меткой времени 151 удаляется.
Если MFT_UNIQUE_METHOD_NAMES определен перед включением mftransform.h, этот метод переименован в MFTSetOutputBounds. См. раздел Создание гибридных объектов DMO/MFT.
Требования
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mftransform.h |
Библиотека | Mfuuid.lib |