Функция MFCreateSampleCopierMFT (mfidl.h)

Создает экземпляр примера преобразования копировщика.

Синтаксис

HRESULT MFCreateSampleCopierMFT(
  [out] IMFTransform **ppCopierMFT
);

Параметры

[out] ppCopierMFT

Получает указатель на интерфейс IMFTransform . Вызывающий объект должен освободить интерфейс .

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

Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Пример копирования — это преобразование Media Foundation (MFT), которое копирует данные из входных примеров в выходные примеры без изменения данных. Из примера копируются следующие данные:

  • Все примеры атрибутов.
  • Метка времени и длительность.
  • Примеры флагов (см . IMFSample::SetSampleFlags).
  • Данные в буферах мультимедиа. Если входной пример содержит несколько буферов, данные копируются в один буфер выходного образца.
Этот MFT полезен в следующей ситуации:
  • Один объект конвейера, например источник мультимедиа, выделяет примеры мультимедиа для вывода.
  • Другой объект конвейера, например приемник мультимедиа, выделяет собственные образцы носителей для входных данных. Например, объекту могут потребоваться буферы, выделенные из специального пула памяти, например видеопамять.
На следующей схеме показана ситуация с источником мультимедиа и приемником мультимедиа. Схема: источник мультимедиа указывает на пример; Приемник мультимедиа указывает на второй пример; Пример копирования указывает на стрелку от первого образца ко второму

Чтобы приемник мультимедиа получал данные из источника мультимедиа, данные должны быть скопированы в образцы мультимедиа, принадлежащие приемнику мультимедиа. Для этой цели можно использовать пример копирования.

Конкретным примером такого приемника мультимедиа является расширенный отрисовщик видео (EVR). EVR выделяет образцы, содержащие буферы поверхности Direct3D, поэтому не может получать примеры видео непосредственно из источника мультимедиа. Начиная с Windows 7 загрузчик топологии автоматически обрабатывает этот случай, вставляя пример копирования между источником мультимедиа и EVR.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header mfidl.h
Библиотека Mf.lib
DLL Mf.dll

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

Функции Media Foundation