Как Windows Media Player вызывает сторонний декодер MFT?

По образцу декодера в Windows SDK, я реализую себя декодером MFT, но есть один вопрос по поводу стороннего MFT. Я регистрирую кодек AMR MFT, отлаживаю с помощью примера кода Windows), подключаю топологию вручную, она может нормально играть. Но если я запускаю Windows Media Player, он не воспроизводит файл, включающий кодек AMR.

Что я должен делать? Проигрыватель Windows Media может автоматически вызывать мой кодек MFT.

Другой вопрос о MERIT, как DirectShow.

2 ответа

Решение

Вы регистрируете свой MFT с MFTRegister как предлагает MSDN?

Регистрация MFT

При регистрации преобразования Media Foundation (MFT) в реестр записывается информация двух типов:

[...]

Чтобы создать записи перечисления MFT в реестре, вызовите функцию MFTRegister. Вы можете включить следующую информацию о MFT:

[...]

Это способ сделать ваш MFT доступным для обнаружения приложениями.

Хотя вы можете зарегистрировать декодер MFT для использования с компонентами MF, вы должны знать, что вы не можете переопределить некоторые настройки по умолчанию для медиаплеера (например, декодер MFT, используемый для предопределенных форматов видео, таких как mpeg4 или h264).

только пользовательские проигрыватели могут определять предпочтительный декодер MFT с помощью IMFPluginControl.SetPreferredClsid()

Другие вопросы по тегам