protected void unlockCamera() {
		if (!mUnlocked) {
			Log.d(TAG,"Unlocking camera");
			try {	
				mCamera.unlock();
			} catch (Exception e) {
				Log.e(TAG,e.getMessage());
			}
			mUnlocked = true;
		}
	}
Opens the camera in a new Looper thread so that the preview callback is not called from the main thread
If an exception is thrown in this Looper thread, we bring it back into the main thread.
@throws RuntimeException Might happen if another app is already using the camera.
src/net/majorkernelpanic/streaming/video/VideoStream.java