Поделиться через


Метод 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. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_NOTIMPL
Не реализован.
MF_E_TRANSFORM_TYPE_NOT_SET
Тип мультимедиа не задан в одном или нескольких потоках.

Комментарии

Этот метод можно использовать для оптимизации предварительной подготовки, особенно в форматах с пробелами между метками времени или форматах, в которых данные должны начинаться с точки синхронизации, например 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

См. также раздел

IMFTransform

Преобразования Media Foundation