{"id":13130,"url":"https://patchwork.libcamera.org/api/covers/13130/?format=json","web_url":"https://patchwork.libcamera.org/cover/13130/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20210727135440.53640-1-umang.jain@ideasonboard.com>","date":"2021-07-27T13:54:38","name":"[libcamera-devel,0/2] android: Handle internal UVC cameras","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/?format=json","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/13130/mbox/","series":[{"id":2284,"url":"https://patchwork.libcamera.org/api/series/2284/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2284","date":"2021-07-27T13:54:38","name":"android: Handle internal UVC cameras","version":1,"mbox":"https://patchwork.libcamera.org/series/2284/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/13130/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 78CA3C322C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 27 Jul 2021 13:54:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D1E65687BE;\n\tTue, 27 Jul 2021 15:54:50 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7C9FC60272\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 27 Jul 2021 15:54:49 +0200 (CEST)","from perceval.ideasonboard.com (unknown [103.251.226.156])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5B298EE;\n\tTue, 27 Jul 2021 15:54:48 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"SMdmyGxD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1627394089;\n\tbh=Cy8jvfND07EJrwnww+uxAIEqOrivBO//nfi3CxOkX/o=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=SMdmyGxD8xk/ebg2OTheR/QFovyeC3Gl9ks/i4siVICFEd+KzHhzX1fJ71cj5/N0Q\n\t7PUl5DZcnCPYq/+kluXLGTOW6Kmyl4irjqlxcCSxGfgNcXc+Zod6/gw1juokVeehhn\n\tkkqUWYEQ4NiF9Cikk3RzHQ+0Dvh0cZSa9/4Y6OlM=","From":"Umang Jain <umang.jain@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Tue, 27 Jul 2021 19:24:38 +0530","Message-Id":"<20210727135440.53640-1-umang.jain@ideasonboard.com>","X-Mailer":"git-send-email 2.31.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 0/2] android: Handle internal UVC cameras","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"libcamera defaults all UVC cameras as 'external' (which makes sense\nas there is not much information to accurately determine location).\nHowever, in the HAL layer, we can probably determine accurately\nby looking at HAL config file camera entries.\n\nThis series addresses the handling of such cameras, where the libcamera\nreports properties::CameraLocationExternal, but we know one of the UVC\nis internal/integrated to the system. It should be treated as internal.\n\nTesting:\nWith nautilus, it has one UVC and one IPU3 cameras. With these patches\napplied, both these cameras have id as '0' & '1' (i.e. internal).\n\nWith camera service still running, I hotplugged a external UVC camera,\nand it got the camera numerical id as '1000'.\n\nUmang Jain (2):\n  android: Override camera is \"Internal\" provided if found on HAL config\n  android: nautilus: Add camera HAL configuration\n\n src/android/camera_device.cpp             | 10 +++++++++-\n src/android/camera_hal_manager.cpp        | 14 ++++++++++++++\n src/android/data/nautilus/camera_hal.yaml |  8 ++++++++\n 3 files changed, 31 insertions(+), 1 deletion(-)\n create mode 100644 src/android/data/nautilus/camera_hal.yaml"}