public ISwitcherControl createSwitcherControl() { ISwitcherControl lresult = null; do { try { if (checkICaptureManagerControl()) { break; } object lUnknown; mICaptureManagerControl.createMisc( typeof(CaptureManagerLibrary.ISwitcherControl).GUID, out lUnknown); if (lUnknown == null) { break; } var lSwitcherControl = lUnknown as CaptureManagerLibrary.ISwitcherControl; if (lSwitcherControl == null) { break; } lresult = new SwitcherControl(lSwitcherControl); } catch (Exception exc) { LogManager.getInstance().write(exc.Message); } } while (false); return(lresult); }
private void Window_Loaded(object sender, RoutedEventArgs e) { try { mCaptureManager = new CaptureManager("CaptureManager.dll"); } catch (System.Exception) { try { mCaptureManager = new CaptureManager(); } catch (System.Exception) { } } m_Thumbnail.mChangeState += m_Thumbnail_mChangeState; LogManager.getInstance().WriteDelegateEvent += MainWindow_WriteDelegateEvent; if (mCaptureManager == null) { return; } mSourceControl = mCaptureManager.createSourceControl(); if (mSourceControl == null) { return; } mSinkControl = mCaptureManager.createSinkControl(); if (mSinkControl == null) { return; } mISessionControl = mCaptureManager.createSessionControl(); if (mISessionControl == null) { return; } mStreamControl = mCaptureManager.createStreamControl(); if (mStreamControl == null) { return; } mStreamControl.createStreamControlNodeFactory(ref mSpreaderNodeFactory); if (mSpreaderNodeFactory == null) { return; } mSinkControl.createSinkFactory(Guid.Empty, out mEVRMultiSinkFactory); if (mEVRMultiSinkFactory == null) { return; } mSwitcherControl = mCaptureManager.createSwitcherControl(); if (mSwitcherControl == null) { return; } XmlDataProvider lXmlDataProvider = (XmlDataProvider)this.Resources["XmlSources"]; if (lXmlDataProvider == null) { return; } XmlDocument doc = new XmlDocument(); string lxmldoc = ""; mCaptureManager.getCollectionOfSources(ref lxmldoc); doc.LoadXml(lxmldoc); lXmlDataProvider.Document = doc; lXmlDataProvider = (XmlDataProvider)this.Resources["XmlEncoders"]; if (lXmlDataProvider == null) { return; } doc = new XmlDocument(); mCaptureManager.getCollectionOfEncoders(ref lxmldoc); doc.LoadXml(lxmldoc); lXmlDataProvider.Document = doc; }
private void Window_Loaded(object sender, RoutedEventArgs e) { mCaptureManager = Program.mCaptureManager; LogManager.getInstance().WriteDelegateEvent += MainWindow_WriteDelegateEvent; if (mCaptureManager == null) { return; } mSourceControl = mCaptureManager.createSourceControl(); if (mSourceControl == null) { return; } mEncoderControl = mCaptureManager.createEncoderControl(); if (mEncoderControl == null) { return; } mSinkControl = mCaptureManager.createSinkControl(); if (mSinkControl == null) { return; } mISessionControl = mCaptureManager.createSessionControl(); if (mISessionControl == null) { return; } mStreamControl = mCaptureManager.createStreamControl(); if (mStreamControl == null) { return; } mStreamControl.createStreamControlNodeFactory(ref mSpreaderNodeFactory); if (mSpreaderNodeFactory == null) { return; } var t = new Thread( delegate() { try { mSinkControl.createSinkFactory(Guid.Empty, out mEVRMultiSinkFactory); if (mEVRMultiSinkFactory == null) { return; } mSwitcherControl = mCaptureManager.createSwitcherControl(); if (mSwitcherControl == null) { return; } XmlDataProvider lXmlDataProvider = (XmlDataProvider)this.Resources["XmlSources"]; if (lXmlDataProvider == null) { return; } XmlDocument doc = new XmlDocument(); string lxmldoc = ""; mCaptureManager.getCollectionOfSources(ref lxmldoc); doc.LoadXml(lxmldoc); lXmlDataProvider.Document = doc; lXmlDataProvider = (XmlDataProvider)this.Resources["XmlEncoders"]; if (lXmlDataProvider == null) { return; } doc = new XmlDocument(); mCaptureManager.getCollectionOfEncoders(ref lxmldoc); doc.LoadXml(lxmldoc); lXmlDataProvider.Document = doc; mCaptureManager.getCollectionOfSinks(ref lxmldoc); lXmlDataProvider = (XmlDataProvider)this.Resources["XmlContainerTypeProvider"]; if (lXmlDataProvider == null) { return; } doc = new XmlDocument(); doc.LoadXml(lxmldoc); lXmlDataProvider.Document = doc; } catch (Exception ex) { } finally { } }); t.SetApartmentState(ApartmentState.MTA); t.Start(); }