Создание экземпляров MFT кодека
Преобразования Media Foundation (MFT) — это COM-объекты, реализующие интерфейс IMFTransform . MFT — это объект для преобразования мультимедийных данных в рамках конвейера. Конвейер — это направленный ациклический граф, состоящий из источников мультимедиа, преобразований мультимедиа и приемников мультимедиа. Конвейер обрабатывает потоковую передачу мультимедийных данных асинхронно.
Хотя экземпляры MFT можно создавать и использовать независимо от инфраструктуры конвейера Media Foundation, предпочтительнее использовать платформу MediaFoundation, где это возможно.
Вы можете создать кодек MFT, вызвав функцию CoCreateInstance . Необходимо передать идентификатор класса MFT, идентификатор интерфейса IMFTransform и указатель на указатель IMFTransform .
Идентификаторы классов MFT кодека определяются как константы в файле заголовка wmcodecdsp.h.
Константой для идентификатора интерфейса IMFTransform является IID_IMFTransform.
В следующем примере кода показано, как создать экземпляр кодека MFT:
HRESULT CreateVideoEncoderMFT(IMFTransform** ppMFT)
{
if (ppMFT == NULL)
return E_POINTER;
return CoCreateInstance(CLSID_CWMV9EncMediaObject,
NULL,
CLSCTX_INPROC_SERVER,
IID_IMFTransform,
(void**)ppMFT);
}
Связанные темы