Beispiel #1
0
        private object getSwitcher(
            object aEncoderNode)
        {
            object lresult = null;

            do
            {
                if (aEncoderNode == null)
                {
                    break;
                }

                ISwitcherNodeFactory lSwitcherNodeFactory = null;

                if (!mStreamControl.createStreamControlNodeFactory(ref lSwitcherNodeFactory))
                {
                    break;
                }

                if (lSwitcherNodeFactory == null)
                {
                    break;
                }

                lSwitcherNodeFactory.createSwitcherNode(aEncoderNode, out lresult);
            } while (false);

            return(lresult);
        }
Beispiel #2
0
        public bool createStreamControlNodeFactory(ref ISwitcherNodeFactory aISwitcherNodeFactory)
        {
            bool lresult = false;

            do
            {
                try
                {
                    if (mIStreamControl == null)
                    {
                        break;
                    }

                    object lIUnknown;

                    mIStreamControl.createStreamControlNodeFactory(
                        typeof(CaptureManagerLibrary.ISwitcherNodeFactory).GUID,
                        out lIUnknown);

                    if (lIUnknown == null)
                    {
                        break;
                    }

                    var lSwitcherNodeFactory = lIUnknown as CaptureManagerLibrary.ISwitcherNodeFactory;

                    if (lSwitcherNodeFactory == null)
                    {
                        break;
                    }

                    aISwitcherNodeFactory = new SwitcherNodeFactory(lSwitcherNodeFactory);

                    lresult = true;
                }
                catch (Exception exc)
                {
                    LogManager.getInstance().write(exc.Message);
                }
            } while (false);

            return(lresult);
        }
Beispiel #3
0
        private object getSwitcher()
        {
            object lresult = null;

            do
            {
                object RenderNode = null;

                List <object> lRenderOutputNodesList = new List <object>();

                if (mEVRMultiSinkFactory != null)
                {
                    mEVRMultiSinkFactory.createOutputNodes(
                        IntPtr.Zero,
                        m_EVRDisplay.Surface.texture,
                        1,
                        out lRenderOutputNodesList);
                }

                if (lRenderOutputNodesList.Count == 1)
                {
                    RenderNode = lRenderOutputNodesList[0];
                }

                ISwitcherNodeFactory lSwitcherNodeFactory = null;

                if (!mStreamControl.createStreamControlNodeFactory(ref lSwitcherNodeFactory))
                {
                    break;
                }

                if (lSwitcherNodeFactory == null)
                {
                    break;
                }

                lSwitcherNodeFactory.createSwitcherNode(RenderNode, out lresult);
            } while (false);

            return(lresult);
        }