Метод IMFDeviceTransform::P rocessEvent (mftransform.h)
Метод ProcessEvent отправляет событие во входной поток в этом преобразовании Media Foundation (MFT).
Синтаксис
HRESULT ProcessEvent(
[in] DWORD dwInputStreamID,
[in] IMFMediaEvent *pEvent
);
Параметры
[in] dwInputStreamID
идентификатор Stream. Чтобы получить список идентификаторов потоков, вызовите IMFDeviceTransform::GetStreamIDs.
[in] pEvent
Указатель на интерфейс IMFMediaEvent объекта события.
Возвращаемое значение
Метод возвращает HRESULT. Возможные значения включают, помимо прочего, значения, указанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Событие успешно обработано. Событие будет распространяться вниз по потоку. |
|
Передан недопустимый идентификатор потока. |
|
Указывает, что MFT устройства не хочет дальнейшего распространения события. |
|
Функция не реализована. |
Комментарии
MFT может обрабатывать отправку события вниз или позволитЬ DTM сделать это, как указано в возвращаемом значении:
- E_NOTIMPL: MFT игнорирует все события, а DTM должен отправлять все события ниже. После того, как конвейер получит это возвращаемое значение
- S_OK: MFT изучил это событие, но DTM должен отправить событие вниз. Внутри системы MFT может каким-либо образом реагировать на событие или игнорировать событие.
- MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT: DTM не должен распространять это событие ниже. Либо MFT отправит событие вниз, либо MFT будет использовать событие, а не отправлять его вниз. MFT должен использовать событие только в том случае, если событие должно остановиться на этом MFT и не перемещаться дальше по нисходящему потоку. Но в большинстве случаев событие должно перемещаться вниз по течению.
События должны быть сериализованы с примерами, которые поступают до и после них. Вложите событие в выходной пример, который следует за событием. (Конвейер сначала обработает событие, а затем образец.) Если MFT сдерживает одну или несколько выборок между вызовами IMFTransform::P rocessInput и IMFTransform::P rocessOutput, MFT должен обрабатывать отправку всех событий вниз, так как в этом случае конвейер не может сопоставить входные выборки с выходными выборками.
Если MFT не сдержит выборки и не нужно проверять какие-либо события, он может вернуть E_NOTIMPL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1703 |
Целевая платформа | Windows |
Header | mftransform.h |