Метод IMFTransform::P rocessEvent (mftransform.h)
Отправляет событие во входной поток для этого преобразования Media Foundation (MFT).
Синтаксис
HRESULT ProcessEvent(
[in] DWORD dwInputStreamID,
[in] IMFMediaEvent *pEvent
);
Параметры
[in] dwInputStreamID
Идентификатор входного потока. Чтобы получить список идентификаторов потоков, вызовите IMFTransform::GetStreamIDs.
[in] pEvent
Указатель на интерфейс IMFMediaEvent объекта события.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Не реализован. |
|
Недопустимый номер потока. |
|
Тип мультимедиа не задан в одном или нескольких потоках. |
|
Конвейер не должен распространять событие. |
Комментарии
MFT может обрабатывать отправку события вниз или позволить конвейеру сделать это, как указано возвращаемым значением:
- E_NOTIMPL. MFT игнорирует все события, и конвейер должен отправлять все события ниже. После того как конвейер получит это возвращаемое значение, он может не вызывать ProcessEvent снова.
- S_OK: MFT изучил это событие, но конвейер должен отправить событие ниже. Внутри системы MFT может каким-либо образом реагировать на событие или игнорировать событие.
- MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT. Конвейер не должен распространять это событие ниже. Либо MFT отправит событие вниз, либо MFT будет использовать событие, а не отправлять его вниз. MFT должен использовать событие только в том случае, если событие должно остановиться на этом MFT и не перемещаться дальше по нисходящему потоку. Но в большинстве случаев событие должно перемещаться вниз по течению.
События должны быть сериализованы с примерами, которые поступают до и после них. Вложите событие в выходной пример, который следует за событием. (Конвейер сначала обработает событие, а затем образец.) Если MFT удерживает одну или несколько выборок между вызовами IMFTransform::P rocessInput и ProcessOutput, MFT должен обрабатывать отправку всех событий вниз, так как в этом случае конвейер не может сопоставить входные выборки с выходными выборками.
Если MFT не сдержит выборки и не нужно проверять какие-либо события, он может вернуть E_NOTIMPL.
Если MFT_UNIQUE_METHOD_NAMES определен до включения mftransform.h, этот метод переименован в MFTProcessEvent. См. раздел Создание гибридных объектов DMO/MFT.
Требования
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mftransform.h |
Библиотека | Mfuuid.lib |