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


Метод CTransformFilter.Transform

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод Transform преобразует входной пример для создания выходного примера.

Синтаксис

virtual HRESULT Transform(
   IMediaSample *pIn,
   IMediaSample *pOut
);

Параметры

Контактный

Указатель на интерфейс IMediaSample для входного примера.

Дуться

Указатель на интерфейс IMediaSample выходного примера.

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

Базовый класс возвращает E_UNEXPECTED.

Производный класс должен возвращать значение HRESULT , указывающее на успех или сбой. Возможные значения включают значения, приведенные в следующей таблице.

Код возврата Описание
S_FALSE
Не доставляйте этот пример.
S_OK
Успешно.

Комментарии

Переопределите этот метод для получения выходных данных. Считывает входные данные из образца, указанного параметром pIn , и записывает новые данные в образец, указанный параметром pOut .

Перед тем как фильтр вызовет этот метод, он копирует свойства из входного примера в выходной пример. Метод Transform должен задавать все свойства, которые отличаются в двух примерах, с помощью методов IMediaSample или интерфейса IMediaSample2 (если доступно).

Если фильтр не должен доставлять этот пример (например, для поддержки контроля качества), метод должен возвращать S_FALSE.

Требования

Требование Значение
Заголовок
Transfrm.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Класс CTransformFilter