Построение динамического графа
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Если необходимо изменить существующий граф фильтров, можно остановить его, внести изменения и перезапустить граф. Обычно это лучший подход. Однако в некоторых случаях может потребоваться изменить граф, пока он еще работает. Пример:
- Приложение вставляет фильтр видеоэффектов во время воспроизведения.
- Исходный фильтр переключает типы носителей в середине потока, что может потребовать нового фильтра распаковки.
- Приложение добавляет в граф новый видеопоток.
Это все примеры динамического построения графа, термин, который охватывает любые изменения в графе фильтра, пока граф продолжает работать. Создание динамического графа может инициироваться приложением или фильтром в графе. Возможны три отдельных сценария:
- Динамические изменения формата. Фильтр может изменять форматы в середине потока без необходимости удалять или заменять фильтры.
- Динамическое повторное подключение. Изменение графа путем добавления или удаления фильтров.
- Цепочки фильтров: добавление, удаление и управление цепочками фильтров.
Связанные темы