private static bool CleanupCard() { lock (mInitObj) { if (mRefCount > 0) { mRefCount--; } if (mDSPInit && mRefCount <= 0) { DS40xxSDKWrap.RegisterImageStreamCallback(null, IntPtr.Zero); DS40xxSDKWrap.DeInitDSPs(); mDSPInit = false; mRefCount = 0; mChannelCount = 0; mPlays = null; } return(!mDSPInit); } }
private static bool InitCard(VideoStandard_t VideoStandard) { lock (mInitObj) { mRefCount++; if (!mDSPInit) { DS40xxSDKWrap.SetDefaultVideoStandard(VideoStandard); mChannelCount = DS40xxSDKWrap.InitDSPs(); if (mChannelCount > 0) { mPlays = new HKCardPlayer[mChannelCount]; mImageStreamCallback = new IMAGE_STREAM_CALLBACK(DoImageStreamCallBack); DS40xxSDKWrap.RegisterImageStreamCallback(mImageStreamCallback, IntPtr.Zero); mDSPInit = true; } } return(mDSPInit); } }