2016-02-12 3 views

ответ

2

Ну, не совсем полномасштабный образец, как они имеют для EVR Presenter плагин, но на следующей странице, как представляется относительно всеобъемлющей и полезной:

Enhanced Video Renderer - Custom Mixers

В этом разделе описывается для создания пользовательского микшера для улучшенного видеообъектива (EVR). Вы можете использовать пользовательский микшер с медиа-приемником Media Foundation EVR или с фильтром DirectShow EVR. Дополнительную информацию о смесителях и докладчиках см. В разделе Enhanced Video Renderer.

Фактически, все Windows Media Foundation API достаточно хорошо документированы, я нахожу. Слишком плохо, что самому продукту было так трудно усыновить. Думаю, DirectShow отлично справляется с большинством задач, поэтому в последнее десятилетие оказалось сложно свести на нет. И хотя я понимаю, что COM - это проверенная рабочая лошадка, вряд ли это было бы футуристическим выбором, когда они основывали MF на нем в 2006 году.

Обратите также внимание на то, что всепроникающее требование «асинхронного вызова», особенно учитывая заднюю часть сегодняшней зрелой, легкой и изящной асинхронной задачи.

Существует также проблема с цыпленком и яйцом, когда ваш новый API не обратно совместим с обширной сторонней экосистемой там, а также смешает такие факты, как отсутствие поддержки сторонних сторонних производителей для тривиальных/базовых функций, таких как воспроизведение MKV, FLV и WEBM; даже сейчас, спустя десятилетие, от кого-то нет правдоподобного решения. (Собственные медиа-проигрыватели Microsoft обычно сначала тестируют MF и возвращаются в DirectShow для несоответствующих форматов, то есть они должны поддерживать внутреннюю поддержку обеих платформ)

Возвращаясь к вашему запросу, вопрос будет связан с тем, будет ли стандарт EVR микшер был обновлен для поддержки асинхронного режима MFT, который Microsoft тихонько ввел несколько лет назад. Если это так, то это, возможно, даст большие возможности для более гибкого взаимодействия с ним, а не для замены нового настраиваемого модуля.

Помните, что этот микшер представляет собой обычный MFT, поэтому вы можете запросить флаги его возможностей, как и любое другое преобразование. В то время как вы на нем, вы также захотите узнать, поддерживал ли он еще одну недавнюю разработку MF, а именно MFT, которая может согласовывать совместное использование аппаратных буферов D3D9 со своими соседями по конвейеру (вместо передачи пробы в системную память). Я считаю, что они могут даже использовать буферы Direct3D 11 тоже.

Смежные вопросы