Метод CTransInPlaceFilter.Receive
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод Receive
получает образец носителя, обрабатывает его и доставляет в нижестоящий фильтр.
Синтаксис
HRESULT Receive(
IMediaSample *pSample
);
Параметры
-
pSample
-
Указатель на интерфейс IMediaSample в примере.
Возвращаемое значение
Возвращает значение HRESULT . Возможные значения включают значения, показанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Успешное завершение |
|
Непредвиденная ошибка. |
Комментарии
Входной контакт фильтра вызывает этот метод при получении примера. Фильтр вызывает метод Transform , который должен реализовать производный класс. Метод Transform обрабатывает данные. Если фильтр использует только один распределител, он передает pSample непосредственно в метод Transform . В противном случае он копирует pSample и передает копию.
Если метод Transform возвращает S_FALSE, Receive
метод удаляет пример. В первом удаленном примере фильтр отправляет событие EC_QUALITY_CHANGE диспетчеру графов фильтров. В противном случае, если метод Transform возвращает S_OK, фильтр доставляет выходной пример. Для этого он вызывает метод IMemInputPin::Receive в подчиненном входном контакте.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|