Media Foundation трансформируется с двумя входами - PullRequest
0 голосов
/ 27 октября 2018

Можно ли вставить пользовательский AsyncMFT, модифицированный для приема нескольких MFT в качестве входных данных (например, MFTa и MFTb, подключающихся к MFTc), в IMFMediaSession (объект mediasession создается с помощью MFCreateMediaSession)? В Интернете я видел ссылки, в которых утверждается, что необходима специальная медиа-сессия, но это кажется излишним.

Я дошел до того, что mftrace (включая отладку в коде) просто сообщает о катастрофическом сбое при запуске MediaSession (происходит сразу после myMediaSession-> Start (NULL, & startPos)). Топология загружается нормально, и оба входных MFT работают нормально, если они не подключены к одному и тому же узлу.

1 Ответ

0 голосов
/ 28 октября 2018

Под Windows 7 это невозможно.

Прочитайте это: Mutl-вход и мульти-выход

Бекки Вайс из Microsoft дает ответы:

Конвейер MFv1 не будет поддерживать мульти-входные MFT .Бывает, что медиа-сессия Beta 2 явно не проверяет на данный момент

Я бы сказал, что MFT с несколькими входами - это то, что будущие версии Media Foundation могут поддерживать;но на данный момент, у нас пока нет такой поддержки .

Я полагаю, MFv1 относится к Vista, а MFv2 к Windows 7.

Ссылки, которые выпредоставьте "About MFT", просто скажите, что вы можете написать преобразование с несколькими входами, вот и все.Но проблема заключается не в преобразованиях Media Foundation.

Проблема в том, что собственный сеанс мультимедиа не может обрабатывать несколько входных потоков из преобразования независимо от того, какой тип соединения вы используете (источник> преобразование, преобразование> преобразование).

Сообщение, которое вы получаете "Катастрофический сбой", было таким же, как и при использовании AudioMixerMFT и сеанса с носителем.

Это можно сделать в Windows 10 без пользовательскихсессия СМИ?

Не знаю.Проверьте ссылку на форуме mdsn выше, кто-то просит об этом вчера.

PS: Если вы решите написать собственный сеанс медиа для вашего случая, я могу помочь.это было бы хорошим упражнением из-за использования AsyncMFT.

Я переместил проект, который содержит здесь пользовательский медиа-сеанс: github / mofo7777 (в MFNode> MFNodePlayer).

...