Метод IMFDeviceTransform::P rocessInput (mftransform.h)
Метод ProcessInput доставляет данные во входной поток в этом преобразовании Media Foundation (MFT).
Синтаксис
HRESULT ProcessInput(
[in] DWORD dwInputStreamID,
[in] IMFSample *pSample,
[in] DWORD dwFlags
);
Параметры
[in] dwInputStreamID
Идентификатор входного потока.
[in] pSample
Указатель на интерфейс IMFSample входного примера. Пример должен содержать по крайней мере один буфер мультимедиа, содержащий допустимые входные данные.
[in] dwFlags
Должен равняться нулю.
Возвращаемое значение
Метод возвращает HRESULT. Возможные значения включают, помимо прочего, значения, указанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод успешно выполнен. |
|
Передан недопустимый аргумент. |
|
В настоящее время MFT-устройство не поддерживает запрос. |
|
Передан недопустимый идентификатор потока. |
|
Запрошенный переход потока невозможен. |
|
Тип входного носителя не задан. |
Комментарии
В большинстве случаев при успешном выполнении метода MFT сохраняет образец и содержит счетчик ссылок на указатель IMFSample . После выполнения MFT с использованием примера он должен освободить его, чтобы избежать утечки памяти.
После того как DTM настроит допустимые типы носителей для всех потоков, MFT всегда должен иметь возможность принимать больше входных данных и создавать больше выходных данных.
Если MFT обнаруживает неустранимую ошибку во входных данных, он может просто удалить данные и попытаться восстановить, когда получит больше входных данных. Если MFT удаляет какие-либо данные, он должен задать атрибут MFSampleExtension_Discontinuity в следующем примере выходных данных, чтобы уведомить вызывающую сторону о наличии пробела в потоке данных.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1703 |
Целевая платформа | Windows |
Header | mftransform.h |