Метод CVideoTransformFilter.Receive
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод Receive
получает образец носителя, обрабатывает его и передает выходной пример в нижестоящий фильтр. Этот метод переопределяет метод CTransformFilter::Receive .
HRESULT Receive(
IMediaSample *pSample
);
-
pSample
-
Указатель на интерфейс IMediaSample в примере ввода.
Возвращает значение HRESULT . Возможные значения:
Код возврата | Описание |
---|---|
|
Фильтр вышестоящий должен прекратить отправку примеров. |
|
Успешно. |
Этот метод вызывает CVideoTransformFilter::ShouldSkipFrame , чтобы определить, следует ли доставить этот пример или просто отменить его. Если Значение ShouldSkipFrame возвращает значение FALSE (указывающее, что образец должен быть доставлен), метод выполняет следующие действия:
- Вызывает CTransformFilter::InitializeOutputSample для подготовки выходного примера.
- Вызывает CTransformFilter::Transform для обработки входного примера. Этот метод является чисто виртуальным и должен быть реализован в производном классе.
- Вызывает CBaseOutputPin::D eliver для доставки выходного примера.
Кроме того, этот метод проверяет наличие изменений формата во входном или выходном примере, вызывая метод IMediaSample::GetMediaType. При изменении формата метод задает тип подключения для соответствующего контакта. Прежде чем задать новый тип, он вызывает StopStreaming. Задав новый тип, он вызывает StartStreaming. Производный класс может использовать эти методы для обновления своего внутреннего состояния. Производное классу также может потребоваться проверка для нового формата в методе Transform.
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|