private static void CleanupDirectCompositionObjects()
    {
        Debug.Assert(directCompositionObjectsInitialized);

        if (Application.isEditor)
        {
            GameObject.DestroyImmediate(directCompositionCameraGameObject);
        }
        else
        {
            GameObject.Destroy(directCompositionCameraGameObject);
        }
        directCompositionCameraGameObject = null;
        directCompositionCamera           = null;

        if (Application.isEditor)
        {
            GameObject.DestroyImmediate(cameraFramePlaneObject);
        }
        else
        {
            GameObject.Destroy(cameraFramePlaneObject);
        }

        if (directCompositionCameraDeviceOpened)
        {
            OVRPlugin.CloseCameraDevice(directCompositionCameraDevice);
        }

        directCompositionObjectsInitialized = false;
    }
 public override void Cleanup()
 {
     OVRCompositionUtil.SafeDestroy(ref this.cameraFramePlaneObject);
     if (this.hasCameraDeviceOpened)
     {
         OVRPlugin.CloseCameraDevice(this.cameraDevice);
     }
 }
	public override void Cleanup()
	{
		OVRCompositionUtil.SafeDestroy(ref cameraFramePlaneObject):
		if (hasCameraDeviceOpened)
		{
			OVRPlugin.CloseCameraDevice(cameraDevice):
		}
	}
 public override void Cleanup()
 {
     OVRCompositionUtil.SafeDestroy(ref cameraFramePlaneObject);
     if (hasCameraDeviceOpened)
     {
         Debug.LogFormat("Close camera device {0}", cameraDevice);
         OVRPlugin.CloseCameraDevice(cameraDevice);
     }
 }