Beispiel #1
0
        public bool SetKernelFrame(Bitmap frame, bool autoFree)
        {
            if (frame != null)
            {
                if (IsKernelInit)
                {
                    IntPtr hBmp = IntPtr.Zero;
                    if (autoFree)
                    {
                        hBmp = frame.GetHbitmap();
                        frame.Dispose();
                        frame = null;
                    }

                    if (hBmp == IntPtr.Zero)
                    {
                        Bitmap bmp = new Bitmap(frame);
                        hBmp = bmp.GetHbitmap();
                        bmp.Dispose();
                    }
                    return(VideoSourceSDKWrap.SetVideoSourceFrame(Name, hBmp));
                }
                else if (autoFree)
                {
                    frame.Dispose();
                    frame = null;
                }
            }
            return(false);
        }
Beispiel #2
0
        public bool KernelInit()
        {
            if (IsOpen && !IsKernelInit)
            {
                if (mGetFrameFun == null)
                {
                    mGetFrameFun = new GetFrameFunPtr(OnGetFrameFun);
                }

                if (VideoSourceSDKWrap.CreateVideoSource(Name, mGetFrameFun))
                {
                    IsKernelInit = true;

                    if (mVideoSourceKernelStateChanged == null)
                    {
                        mVideoSourceKernelStateChanged = new VideoSourceKernelStateChanged(DoVideoSourceKernelStateChanged);
                    }

                    VideoSourceSDKWrap.SetVideoSourceStateChangedCallback(Name, mVideoSourceKernelStateChanged);

                    VideoSourceSDKWrap.SetVideoSourceParams(Name, mConfig.FPS, (int)mConfig.RunMode, mConfig.IsAutoTune, mConfig.CPU);
                }
            }
            return(IsKernelInit);
        }
Beispiel #3
0
 public bool KernelStop()
 {
     if (IsKernelInit)
     {
         return(VideoSourceSDKWrap.StopVideoSource(Name));
     }
     return(false);
 }
Beispiel #4
0
 public bool KernelRefresh()
 {
     if (IsKernelInit)
     {
         return(VideoSourceSDKWrap.SetVideoSourceParams(Name, mConfig.FPS, (int)mConfig.RunMode, mConfig.IsAutoTune, mConfig.CPU));
     }
     return(false);
 }
Beispiel #5
0
        public bool KernelCleanup()
        {
            if (IsKernelInit)
            {
                KernelStop();

                SystemContext.MonitorManager.ClearFromVSName(Name);

                if (VideoSourceSDKWrap.FreeVideoSource(Name))
                {
                    IsKernelInit = false;
                }
            }
            return(!IsKernelInit);
        }