/// <summary>
        /// Closes a camera and release resources.
        /// </summary>
        private void closeCamera()
        {
            try
            {
                mCameraOpenCloseLock.acquire();

                if (null != mSCameraSession)
                {
                    mSCameraSession.close();
                    mSCameraSession = null;
                }

                if (null != mSCameraDevice)
                {
                    mSCameraDevice.close();
                    mSCameraDevice = null;
                }

                mSCameraManager = null;
                mSCamera        = null;
            }
            catch (InterruptedException e)
            {
                Log.e(TAG, "Interrupted while trying to lock camera closing.", e);
            }
            finally
            {
                mCameraOpenCloseLock.release();
            }
        }
Esempio n. 2
0
 public override void onError(SCameraDevice sCameraDevice, int i)
 {
     outerInstance.mCameraOpenCloseLock.release();
     if (outerInstance.State == CAMERA_STATE.CLOSING)
     {
         return;
     }
     outerInstance.showAlertDialog("Error while camera open.", true);
 }
Esempio n. 3
0
 public override void onDisconnected(SCameraDevice sCameraDevice)
 {
     outerInstance.mCameraOpenCloseLock.release();
     if (outerInstance.State == CAMERA_STATE.CLOSING)
     {
         return;
     }
     outerInstance.showAlertDialog("Camera disconnected.", true);
 }
Esempio n. 4
0
 public virtual void onOpened(SCameraDevice sCameraDevice)
 {
     Log.v(TAG, "onOpened");
     outerInstance.mCameraOpenCloseLock.release();
     if (outerInstance.State == CAMERA_STATE.CLOSING)
     {
         return;
     }
     outerInstance.mSCameraDevice = sCameraDevice;
     outerInstance.createPreviewSession();
 }
 public override void onError(SCameraDevice sCameraDevice, int i)
 {
     outerInstance.mCameraOpenCloseLock.release();
     outerInstance.showAlertDialog("Error while camera open.", true);
 }
 public override void onDisconnected(SCameraDevice sCameraDevice)
 {
     outerInstance.mCameraOpenCloseLock.release();
     outerInstance.showAlertDialog("Camera disconnected.", true);
 }
 public virtual void onOpened(SCameraDevice sCameraDevice)
 {
     outerInstance.mCameraOpenCloseLock.release();
     outerInstance.mSCameraDevice = sCameraDevice;
     outerInstance.createPreviewSession();
 }
Esempio n. 8
0
		/// <summary>
		/// Closes a camera and release resources.
		/// </summary>
		private void closeCamera()
		{
			lock (this)
			{
				try
				{
					mCameraOpenCloseLock.acquire();
        
					if (mSCameraSession != null)
					{
						mSCameraSession.close();
						mSCameraSession = null;
					}
        
					if (mSCameraDevice != null)
					{
						mSCameraDevice.close();
						mSCameraDevice = null;
					}
        
					mSCameraManager = null;
				}
				catch (InterruptedException e)
				{
					Log.e(TAG, "Interrupted while trying to lock camera closing.", e);
				}
				finally
				{
					mCameraOpenCloseLock.release();
				}
			}
		}
Esempio n. 9
0
			public override void onError(SCameraDevice sCameraDevice, int i)
			{
				outerInstance.mCameraOpenCloseLock.release();
				if (outerInstance.State == CAMERA_STATE.CLOSING)
				{
					return;
				}
				outerInstance.showAlertDialog("Error while camera open.", true);
			}
Esempio n. 10
0
			public override void onDisconnected(SCameraDevice sCameraDevice)
			{
				outerInstance.mCameraOpenCloseLock.release();
				if (outerInstance.State == CAMERA_STATE.CLOSING)
				{
					return;
				}
				outerInstance.showAlertDialog("Camera disconnected.", true);
			}
Esempio n. 11
0
			public virtual void onOpened(SCameraDevice sCameraDevice)
			{
				outerInstance.mCameraOpenCloseLock.release();
				if (outerInstance.State == CAMERA_STATE.CLOSING)
				{
					return;
				}
				outerInstance.mSCameraDevice = sCameraDevice;
				outerInstance.createPreviewSession();
			}