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


Метод IMFTransform::D eleteInputStream (mftransform.h)

Удаляет входной поток из этого преобразования Media Foundation (MFT).

Синтаксис

HRESULT DeleteInputStream(
  [in] DWORD dwStreamID
);

Параметры

[in] dwStreamID

Идентификатор удаляемого входного потока.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_NOTIMPL
Преобразование имеет фиксированное количество входных потоков.
MF_E_INVALIDREQUEST
Поток не является съемным, или преобразование в настоящее время имеет минимальное количество входных потоков, которые он может поддерживать.
MF_E_INVALIDSTREAMNUMBER
Недопустимый идентификатор потока.
MF_E_TRANSFORM_INPUT_REMAINING
Преобразование содержит необработанные входные буферы для указанного потока.

Комментарии

Если преобразование имеет фиксированное количество входных потоков, метод возвращает E_NOTIMPL.

MFT может поддерживать этот метод, но не разрешать удаление определенных входных потоков. Если входной поток можно удалить, метод IMFTransform::GetInputStreamInfo возвращает флаг MFT_INPUT_STREAM_REMOVABLE для этого потока. В противном случае поток нельзя удалить, а метод возвращает MF_E_INVALIDREQUEST. Метод также завершается ошибкой, если MFT в настоящее время имеет минимальное количество необходимых входных потоков. Чтобы найти минимальное количество потоков, вызовите IMFTransform::GetStreamLimits.

Если преобразование по-прежнему имеет необработанные входные данные для этого потока, метод может завершиться успешно или вернуть MF_E_TRANSFORM_INPUT_REMAINING. Если метод будет выполнен успешно, MFT будет продолжать обрабатывать оставшиеся входные данные после удаления потока. Если метод возвращает MF_E_TRANSFORM_INPUT_REMAINING, перед удалением потока необходимо очистить входные буферы. Чтобы очистить входные буферы, вызовите imfTransform::P rocessOutput или вызовите IMFTransform::P rocessMessage с MFT_MESSAGE_COMMAND_FLUSH для очистки MFT. Затем снова вызовите DeleteInputStream . MFT никогда не должен удалять входные буферы при вызове DeleteInputStream .

Если MFT_UNIQUE_METHOD_NAMES определен перед включением mftransform.h, этот метод переименован в MFTDeleteInputStream. См. раздел Создание гибридных объектов DMO/MFT.

Требования

   
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mftransform.h
Библиотека Mfuuid.lib

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

IMFTransform

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