enter code here
Я должен остановиться и запустить Фильтр видео рендерера динамически. Это невозможно с «нормальной» архитектурой Direct Show без создания нового графика. Но с GMFBridge кажется, что это возможно.
Но я не могу понять, как его использовать. (Да, я прочитал статью на http://www.gdcl.co.uk/gmfbridge/index.htm)
Мой график:
SourceFilter ---> MyCustomTransformFilter ---> Video Rendrer Filter
Так GMFBridge подходит где?
i) I can devide my graph two pieces
[ Source Filter + MyCustomFilter ] + Video Rendere
ii) Then how to add my filters to graph, and stop start Video Rendrere without
affecting the rest of my grapg using GMFBridge?
Обновление:
Спасибо, Виммель
Я просто запутался ... Дай мне понять, что я понимаю
i) Сначала у меня один график
(SingleGraph) SourceFilter ---> MyCustomTransformFilter ---> Video Rendrer Filter
ii) Чтобы использовать GMFBridge, я разделил свой единственный график на два отдельных графика
First Graph : SourceFilter ---> MyCustomTransformFilter --> GMFBridgeSinkFilter
Second Graph : GMFBridgeSourceFilter ---> Video Renderer Filter
Ну, GMFBridgeSinkFilter и GMFBridgeSourceFilter? кто они такие? их тип класса?
iii) Затем я создаю экземпляр IGMFBridgeControllerPtr и выполняю необходимую инициализацию ...
IGMFBridgeControllerPtr bridgeController = ......
.....
bridgeController->AddStream(true, eUncompressed, true);
bridgeController->AddStream(false, eUncompressed, true);
iv) Bridge Controller добавляет фильтр приемника к исходному графику и подключает его:
bridgeController->InsertSinkFilter(sourceGraph, sourceGraphSinkFilter);
Что такое sourceGraph, sourceGraphSinkFilter s?
// now connect it like this:
// SourceFilter ---> MyCustomTransformFilter ---> SourceGraphSinkFilter
Вы имеете в виду программно подключить эти фильтры на исходном графике?
iv) Во втором графике позвольте контроллеру добавить фильтр источника и подключить его к рендереру:
bridgeController->InsertSourceFilter(sinkFilter, renderGraph, renderGraphSourceFilter);
Опять же, что такое SinkFilter, renderGraphSourceFilter и т. Д.?
// now connect it like this:
// RenderGraphSourceFilter ---> Video Renderer Filter
И Вы имеете в виду программно соединить эти фильтры в исходном графе?