(2) Мне следует интегрировать сторонний кодек в декодирование на основе Media Foundation.Согласно MSDN, Media Foundation имеет некоторую поддержку сторонних кодеков, однако я не нашел пример, который делает декодирование с использованием стороннего кодека.Может быть, кто-то сделал это?или может ссылаться на полезный пример, как это сделать.
Это возможно.По сути, это включает в себя написание Media Foundation Transform для стороннего декодера.Посмотрите в свой каталог установки SDK.Перейти к Microsoft SDKs -> v7.0 -> Samples -> Multimedia -> Mediafoundation -> Decoder
.Содержит пример декодера MPEG1 MFT.Что вам нужно сделать, это соответствующим образом унаследовать IMFTransform
интерфейс и реализовать его методы.Например, медиа-клиент вызовет метод ProcessInput()
, чтобы предоставить вашему декодеру MFT образцы медиа.Точно так же это вызовет ProcessOutput()
, чтобы получить декодированный вывод.Короче говоря, MFT выступает в качестве оболочки для стороннего декодера.