【C#】DirectShow.net + LogicoolのカメラでサンプルDxSnapがうまく動かない!
関連記事
- 不具合解析オワタ デバイスドライバの不具合じゃねぇ~か(汗 【2015年03月13日(金)】
- DirectShowシステムを休出にて構築中 【2009年04月18日(土)】
- 出来た! 【2007年11月29日(木)】
- IBaseFilter 【2007年11月28日(水)】
- ぴ~~~~んち! 【2007年11月28日(水)】
のでありました
いやぁ~原因調査にえらいかかった
いや,原因は
Logicoolカメラデバイスに,スティル機能があるみたいなんじゃけど,そのスティルピン,どうも,調子が悪いっぽい
ってことで,そのスティル出力ピンと,サンプルグラバー(SampleGrabber)の入力ピンを直接接続しようとすると不具合が出る模様
コードの流れを追っかけて,いまいち,わけわからん!
結局,grapheditを起動して,全体の流れがやっと解って
こんな感じで,繋がないといけない模様
Smart Teeにて,出力を2つに分けたら,問題なし(まぁ,普通はこの流れじゃなぁ)
ってことで,該当のソースを修正してみた
修正は,Capture.cs
/// <summary> build the capture graph for grabber. </summary> private void SetupGraph(DsDevice dev, int iWidth, int iHeight, short iBPP, Control hControl) { int hr; ISampleGrabber sampGrabber = null; IBaseFilter capFilter = null; IPin pCaptureOut = null; IPin pSampleIn = null; IPin pRenderIn = null; // Get the graphbuilder object m_FilterGraph = new FilterGraph() as IFilterGraph2; try { #if DEBUG m_rot = new DsROTEntry(m_FilterGraph); #endif // add the video input device hr = m_FilterGraph.AddSourceFilterForMoniker(dev.Mon, null, dev.Name, out capFilter); DsError.ThrowExceptionForHR( hr ); // Find the still pin //m_pinStill = DsFindPin.ByCategory(capFilter, PinCategory.Still, 0); //コメントにしてね // Didn't find one. Is there a preview pin? //if (m_pinStill == null) //コメントにしてね //{ //コメントにしてね // m_pinStill = DsFindPin.ByCategory(capFilter, PinCategory.Preview, 0); //コメントにしてね //} //コメントにしてね // Still haven't found one. Need to put a splitter in so we have // one stream to capture the bitmap from, and one to display. Ok, we // don't *have* to do it that way, but we are going to anyway. if (m_pinStill == null) //この条件が成り立つようになる { IPin pRaw = null; IPin pSmart = null; // There is no still pin m_VidControl = null; // Add a splitter IBaseFilter iSmartTee = (IBaseFilter)new SmartTee();コメントにしてね辺りをコメントにすると,直下のif文が成り立つようになって,SmartTeeでの,映像分岐が行われるようになりまする
参考にドゾー
コメント
まぁ降るもんじゃ.強雨がずっと続いているぞー
【新燃岳】噴煙がめちゃくちゃ少なくなってる.いったん終わる方向じゃろか?(25/7/5)
【地震速報】鹿児島 悪石島で震度6弱 津波の心配なし(25/7/3)
【霧島山】新燃岳で噴火続く 噴煙2800メートルの高さに(25/7/2)
うひょぉ~久しぶりに停電した!UPSが唸りを上げたー
【霧島山】火山性地震が超猛烈増加中.17時で600回超えてるヤバス(25/6/24)