我嘗試使用GDF MPEG 4 Mux與GMFBridge。GMFBridge與GMF GDCL MPEG 4 Mux過濾器
我原來圖爲:
SourceFilter ---> GDCL MPEG 4 Mux Filter ---> FileWriter
我想根據我的特殊標準給予新的文件名(如時間,例如每五分鐘),但不想再創建整個圖形。所以我嘗試使用GMFBridge。
我不工作。我真的不知道如何使用GMFBridge或它不工作。
注:這是我做GMFBridge
爲了使用,我把我的圖形分爲兩個部分:
FirstPart ==> SourceFilter---> GDCL MPEG 4 Mux Filter--> BridgeSinkFilter
和
SecondPart ==> BridgeSourceFilter ---> FileWriter
我的計劃僞代碼
IGraphBuilder firstPartGraph = (IGraphBuilder) new FilterGraph();
IGraphBuilder secondPartGraph = (IGraphBuilder) new FilterGraph();
IBaseFilter bridgeSinkFilter;
IBaseFilter bridgeSourceFilter;
IBaseFilter sourceFilter;
IBaseFilter muxerFilter;
IBaseFilter fileWriterFilter;
// Create bridge controller and init
IGMFBridgeController bridge = (IGMFBridgeController)new GMFBridgeController();
bridge.AddStream(true,eFormatType.MuxInputs, true);
// Then insert Sink filter
bridge.InsertSinkFilter(firstPartGraph, bridgeSinkFilter);
// Configure first part filters
firstPartGraph.AddFilter(sourceFilter);
firstPartGraph.AddFilter(muxerFilter);
firstPartGraph.AddFilter(bridgeSinkFilter); // Have to add this??
ConnectFilters(firstPartGraph,sourceFilter,muxerFilter);
ConnectFilters(firstPartGraph,muxerFilter,bridgeSinkFilter);
// Now add bridge sourceFilter
bridge.InsertSourceFilter(bridgeSinkFilter,secondPartGraph,bridgeSourceFilter);
// Then configure second part graph
secondPartGraph.AddFilter(bridgeSourceFilter); // Have to add this??
secondPartGraph.AddFilter(fileWriterFilter);
ConnectFilters(secondPartGraph,bridgeSourceFilter,fileWriterFilter);
// Now bridge two graphs
bridge.BridgeGraphs(bridgeSinkFilter,fileWriterFilter,bridgeSourceFilter);
// Execute both graphs
IMediaControl mediaControlForPartOne = (IMediaControl)firstPartGraph;
mediaControlForPartOne->Run();
IMediaControl mediaControlForPartSecond = (IMediaControl)secondPartGraph;
mediaControlForPartSecond->Run();
現在如何停止第二個圖形部分並設置新文件名,然後使用橋重新連接圖形?
FIX IT:
感謝。
我只是改變我的grapg分裂與現在的工作:
FirstPart ==> SourceFilter--> BridgeSinkFilter
SecondPart ==> BridgeSourceFilter ---> GDCL MPEG 4 Mux Filter---> FileWriter
其實,我不能得到第二張圖正確輸入......可能是因爲複用的......也許我圖的divison是錯誤的... – DSBoy 2011-05-31 06:53:26
我固定的......我把我的graps不同 – DSBoy 2011-05-31 08:09:20