Создание расширенной топологии
В этом разделе описаны некоторые сложные методы создания топологий. Эти методы можно использовать, если требуется больше контроля над топологиями, которые вы отправляете в сеанс мультимедиа.
Так как эти методы предназначены для сценариев, которые выходят за рамки функциональных возможностей, предоставляемых стандартным загрузчиком топологии, многие сведения будут зависеть от конкретных требований приложения. Поэтому этот раздел организован слабо вокруг небольших подзадач, а не полных комплексных сценариев.
Обычное приложение воспроизведения выполняет следующие действия:
- Приложение создает частичную топологию и помещает его в очередь в сеансе мультимедиа.
- Сеанс мультимедиа вызывает загрузчик топологии для разрешения топологии.
Если вы хотите выйти за рамки возможностей загрузчика топологии, существует три общих подхода:
Создание полной топологии. При очереди топологии в сеансе мультимедиа вызовите IMFMediaSession::SetTopology с флагом MFSESSION_SETTOPOLOGY_NORESOLUTION. Этот флаг запрещает сеансу мультимедиа пытаться устранить топологию.
Для разрешения топологии напрямую вызывается загрузчик топологии. Затем вы можете изменить полную топологию, прежде чем поставить ее в очередь на мультимедийной сессии.
Реализуйте настраиваемый загрузчик топологии. При таком подходе выстраивается очередь частичной топологии, но медиа-сеанс вызывает пользовательский загрузчик вместо стандартной реализации Media Foundation. Одним из преимуществ этого подхода является то, что можно выполнять сборку пользовательской топологии в защищенной среде. (Однако в этом случае загрузчик топологии должен быть доверенным компонентом. Дополнительные сведения см. в разделе Путь к защищенному носителю.)
Этот раздел содержит следующие разделы.
Тема | Описание |
---|---|
специализированные загрузчики топологии | Как обеспечить настраиваемую реализацию IMFTopoLoader для медийной сессии. |
привязка выходных узлов к приемникам мультимедиа | Как подготовить выходные узлы в топологии, если вы используете загрузчик топологии за пределами сеанса мультимедиа. |
Добавление декодера в топологию | Как вручную выбрать декодировщик и добавить его в топологию. |
Связанные разделы