Функция MFCreateTranscodeTopology (mfidl.h)
Создает топологию частичного перекода.
Базовый построитель топологий создает частичную топологию, подключая необходимые объекты конвейера: источник, кодировщик и приемник. Кодировщик и приемник настраиваются в соответствии с параметрами, заданными вызывающим объектом в профиле перекодирования.
Чтобы создать объект профиля перекодирования, вызовите функцию MFCreateTranscodeProfile и задайте необходимые атрибуты, вызвав соответствующие методы IMFTranscodeProfile .
Настроенный профиль перекодирования передается в функцию MFCreateTranscodeTopology , которая создает топологию перекодировки с соответствующими параметрами. Затем вызывающий объект может задать эту топологию в сеансе мультимедиа и запустить сеанс, чтобы начать процесс кодирования. После завершения сеанса мультимедиа создается перекодированный файл.
Синтаксис
HRESULT MFCreateTranscodeTopology(
[in] IMFMediaSource *pSrc,
[in] LPCWSTR pwszOutputFilePath,
[in] IMFTranscodeProfile *pProfile,
[out] IMFTopology **ppTranscodeTopo
);
Параметры
[in] pSrc
Указатель на источник мультимедиа, который инкапсулирует исходный файл для перекодировки. Объект источника мультимедиа предоставляет интерфейс IMFMediaSource и может быть создан с помощью сопоставителя источника. Дополнительные сведения см. в разделе Использование сопоставителя источника.
[in] pwszOutputFilePath
Указатель на строку, завершающуюся null, которая содержит имя и путь к создаваемому выходному файлу.
[in] pProfile
Указатель на профиль перекодирования, содержащий параметры конфигурации аудиопотока, видеопотока и контейнера, в который записывается файл. Объект профиля транскода предоставляет интерфейс IMFTranscodeProfile и должен быть создан путем вызова функции MFCreateTranscodeProfile . После создания объекта вызывающий объект должен предоставить параметры конфигурации, вызвав соответствующие методы IMFTranscodeProfile .
[out] ppTranscodeTopo
Получает указатель на интерфейс IMFTopology объекта топологии перекодировки. Вызывающий объект должен освободить интерфейс .
Возвращаемое значение
Функция возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Вызов функции выполнен успешно, и ppTranscodeTopo получает указатель на топологию перекодировки. |
|
pwszOutputFilePath содержит недопустимые символы. |
|
Потоки не выбраны в источнике мультимедиа. |
|
Профиль не содержит атрибут MF_TRANSCODE_CONTAINERTYPE . |
|
Для одного или нескольких потоков не удается найти кодировщик, который принимает тип мультимедиа, указанный в профиле. |
|
Профиль не указывает тип носителя для любого из выбранных потоков в источнике мультимедиа. |
Комментарии
Пример кода, использующего эту функцию, см. в следующих разделах:
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | mfidl.h |
Библиотека | Mf.lib |
DLL | Mf.dll |