【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での,映像分岐が行われるようになりまする
参考にドゾー
コメント
【#RUANG】インドネシア:ルアング山で火山が大規模噴火:愛媛で震度6弱な緊急地震速報(24/4/18)
イオンモール宮崎の辺りにイノシシが登場した,らしい
コンビニ誤交付、富士通に行政指導 原因究明と再発防止を要求―総務省
【#桜】花立公園で桜見物してきた!都井岬まで足を伸ばした!遠かった(爆
【#大谷翔平】水原一平氏、米連邦検察が銀行詐欺容疑で訴追…大谷翔平選手の口座から24億5千万円以上を不正送金
【#緊急地震速報】宮崎県日南市で震度5弱 津波の心配なし M5.2(24/2/8)
ずっと天気が悪いのぉ.菜種梅雨とはよく言ったものやじ(24/4/5)
【#暴風警報】宮崎市に暴風警報発令(24/3/26)