[{"id":25630,"web_url":"https://patchwork.libcamera.org/comment/25630/","msgid":"<20221027165457.ovb6yf2foqjiugrb@uno.localdomain>","date":"2022-10-27T16:55:45","subject":"Re: [libcamera-devel] [PATCH 10/10] android: libcamera: add useful\n\tdebug prints","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Nicholas\n\nOn Thu, Oct 27, 2022 at 12:55:15AM -0500, Nicholas Roth via libcamera-devel wrote:\n> From: Nicholas Roth <nicholas@rothemail.net>\n>\n> I identified opportunities to make libcamera's log output easier to\n> understand while working to get it working on my Android device as a\n> HAL. These additional logging statements came out of that and will\n> hopefully prove useful to Android distribution maintainers with the same\n> goal as mine and to users who attempt to debug tools like Waydroid.\n>\n> Signed-off-by: Nicholas Roth <nicholas@rothemail.net>\n> ---\n>  src/android/camera_capabilities.cpp | 12 +++++++++---\n>  src/android/camera_hal_manager.cpp  |  3 ++-\n>  src/libcamera/base/log.cpp          |  4 +++-\n>  src/libcamera/v4l2_subdevice.cpp    |  2 +-\n>  4 files changed, 15 insertions(+), 6 deletions(-)\n>\n> diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\n> index 64bd8dde..ef0d10d0 100644\n> --- a/src/android/camera_capabilities.cpp\n> +++ b/src/android/camera_capabilities.cpp\n> @@ -374,14 +374,20 @@ void CameraCapabilities::computeHwLevel(\n>  \tcamera_metadata_enum_android_info_supported_hardware_level\n>  \t\thwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL;\n>\n> -\tif (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR))\n> +\tif (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR)) {\n> +\t\tLOG(HAL, Info) << noFull << \"missing manual sensor\";\n>  \t\thwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;\n> +\t}\n>\n> -\tif (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING))\n> +\tif (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING)) {\n> +\t\tLOG(HAL, Info) << noFull << \"missing manual post processing\";\n>  \t\thwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;\n> +\t}\n>\n> -\tif (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE))\n> +\tif (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE)) {\n> +\t\tLOG(HAL, Info) << noFull << \"missing burst capture\";\n>  \t\thwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;\n> +\t}\n\nFine with me if it makes things easier for you\n\n>\n>  \tfound = staticMetadata_->getEntry(ANDROID_SYNC_MAX_LATENCY, &entry);\n>  \tif (!found || *entry.data.i32 != 0) {\n> diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp\n> index 7512cc4e..7fac4e3f 100644\n> --- a/src/android/camera_hal_manager.cpp\n> +++ b/src/android/camera_hal_manager.cpp\n> @@ -140,7 +140,8 @@ void CameraHalManager::cameraAdded(std::shared_ptr<Camera> cam)\n>  \t */\n>  \tif (!isCameraExternal && !halConfig_.exists()) {\n>  \t\tLOG(HAL, Error)\n> -\t\t\t<< \"HAL configuration file is mandatory for internal cameras\";\n> +\t\t\t<< \"HAL configuration file is mandatory for internal cameras.\"\n> +\t\t\t<< \" Camera NOT loaded: \\\"\" << cam->id() << \"\\\"\";\n\nthat capital \"NOT\" is a bit bold :)\n\nIf you want to add information I would maybe\n                        << \" Camera \" << cam->id() << \" failed to load\";\n\nI don't think you need \"\" around the camera id (we don't have it in\nthe other error messages)\n\n\n>  \t\treturn;\n>  \t}\n>\n> diff --git a/src/libcamera/base/log.cpp b/src/libcamera/base/log.cpp\n> index 55fbd7b0..88800158 100644\n> --- a/src/libcamera/base/log.cpp\n> +++ b/src/libcamera/base/log.cpp\n> @@ -625,8 +625,10 @@ void Logger::parseLogFile()\n>  void Logger::parseLogLevels()\n>  {\n>  \tconst char *debug = utils::secure_getenv(\"LIBCAMERA_LOG_LEVELS\");\n> -\tif (!debug)\n> +\tif (!debug) {\n> +\t\tsyslog(LOG_INFO, \"Could not find LIBCAMERA_LOG_LEVELS in env\");\n>  \t\treturn;\n> +\t}\n\nThis doesn't seems something to report everytime the library is loaded\n\n>\n>  \tfor (const char *pair = debug; *debug != '\\0'; pair = debug) {\n>  \t\tconst char *comma = strchrnul(debug, ',');\n> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\n> index 15e8206a..f3e25b86 100644\n> --- a/src/libcamera/v4l2_subdevice.cpp\n> +++ b/src/libcamera/v4l2_subdevice.cpp\n> @@ -392,7 +392,7 @@ int V4L2Subdevice::getSelection(unsigned int pad, unsigned int target,\n>  \tif (ret < 0) {\n>  \t\tLOG(V4L2, Error)\n>  \t\t\t<< \"Unable to get rectangle \" << target << \" on pad \"\n> -\t\t\t<< pad << \": \" << strerror(-ret);\n> +\t\t\t<< pad << \": \" << strerror(-ret) << \".\";\n\nDo we end all other error messages with a full stop ? Why this one\nshould ?\n\n>  \t\treturn ret;\n>  \t}\n>\n> --\n> 2.34.1\n>","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 54C4ABDB16\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Oct 2022 16:55:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B149562F9F;\n\tThu, 27 Oct 2022 18:55:49 +0200 (CEST)","from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::225])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3C53062F89\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Oct 2022 18:55:48 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 3B1CC1C000D;\n\tThu, 27 Oct 2022 16:55:46 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1666889749;\n\tbh=WuLfAvnsW5tFaJcQGIQTxi579JnkbOQDWLhXNjVuogI=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=WUSIV4BypiH9EQH7T13zb91X3ka8elywKQk0nn7PwkysbWq9+oNvLq6g9KMMbKkPe\n\txqpHUQLKV4DavH3F17ElqyRvpwGT13N9U6US2tvlYWM1dr0AiLMC95s/kHa/08GwUb\n\t1N7pGUrFHCNlVtThqYOfVgbhq0JMYR9SEhIREKB8B2meZMi91+azpr6kSWl+6UDxXl\n\tqdNmkw4BqoS0lwQM/cUSz3qsEkUdFzeI5Uqqk8P7hNIDsPrUiByeleNtfgh2A+p/rn\n\t330TpCLICONe2U/GuEJ5yJBdEs55/G4W7eSPDxss9d0p+UmvbXtrxom8B2KYTcubpI\n\tGprIOw4hHgR1w==","Date":"Thu, 27 Oct 2022 18:55:45 +0200","To":"Nicholas Roth via libcamera-devel <libcamera-devel@lists.libcamera.org>","Message-ID":"<20221027165457.ovb6yf2foqjiugrb@uno.localdomain>","References":"<libcamera Android Enhancements>\n\t<20221027055515.321791-1-nicholas@rothemail.net>\n\t<20221027055515.321791-11-nicholas@rothemail.net>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20221027055515.321791-11-nicholas@rothemail.net>","Subject":"Re: [libcamera-devel] [PATCH 10/10] android: libcamera: add useful\n\tdebug prints","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"nicholas@rothemail.net","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25635,"web_url":"https://patchwork.libcamera.org/comment/25635/","msgid":"<CAD2rFCp3oQ-xaSBj8j7A6LB27oTuDxrtvPTte0jRe120kGcgVA@mail.gmail.com>","date":"2022-10-27T22:30:32","subject":"Re: [libcamera-devel] [PATCH 10/10] android: libcamera: add useful\n\tdebug prints","submitter":{"id":137,"url":"https://patchwork.libcamera.org/api/people/137/","name":"Nicholas Roth","email":"nicholas@rothemail.net"},"content":"> Fine with me if it makes things easier for you\nIt makes the logs easier to understand for me. My hope is that the next\nperson who wants to know why their camera is \"LIMITED\" instead of \"FULL\"\nwill find this useful, just like I would have. This will also help diagnose\nwhen people, e.g. on the Waydroid bug tracker, complain about not having a\n\"FULL\" camera as a bug and maybe even prevent bugs like that (though\nprobably not).\n\nt> hat capital \"NOT\" is a bit bold :)\n> If you want to add information I would maybe\n>                         << \" Camera \" << cam->id() << \" failed to load\";\n\n> I don't think you need \"\" around the camera id (we don't have it in\n> the other error messages)\n> Made lower-case.\nAll good points. Changes made.\n\n> This doesn't seems something to report everytime the library is loaded\nRemoved.\n\n> Do we end all other error messages with a full stop ? Why this one\nshould ?\nGood point. Removed the full stop.\n\nOn Thu, Oct 27, 2022 at 11:55 AM Jacopo Mondi <jacopo@jmondi.org> wrote:\n\n> Hi Nicholas\n>\n> On Thu, Oct 27, 2022 at 12:55:15AM -0500, Nicholas Roth via\n> libcamera-devel wrote:\n> > From: Nicholas Roth <nicholas@rothemail.net>\n> >\n> > I identified opportunities to make libcamera's log output easier to\n> > understand while working to get it working on my Android device as a\n> > HAL. These additional logging statements came out of that and will\n> > hopefully prove useful to Android distribution maintainers with the same\n> > goal as mine and to users who attempt to debug tools like Waydroid.\n> >\n> > Signed-off-by: Nicholas Roth <nicholas@rothemail.net>\n> > ---\n> >  src/android/camera_capabilities.cpp | 12 +++++++++---\n> >  src/android/camera_hal_manager.cpp  |  3 ++-\n> >  src/libcamera/base/log.cpp          |  4 +++-\n> >  src/libcamera/v4l2_subdevice.cpp    |  2 +-\n> >  4 files changed, 15 insertions(+), 6 deletions(-)\n> >\n> > diff --git a/src/android/camera_capabilities.cpp\n> b/src/android/camera_capabilities.cpp\n> > index 64bd8dde..ef0d10d0 100644\n> > --- a/src/android/camera_capabilities.cpp\n> > +++ b/src/android/camera_capabilities.cpp\n> > @@ -374,14 +374,20 @@ void CameraCapabilities::computeHwLevel(\n> >       camera_metadata_enum_android_info_supported_hardware_level\n> >               hwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL;\n> >\n> > -     if\n> (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR))\n> > +     if\n> (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR)) {\n> > +             LOG(HAL, Info) << noFull << \"missing manual sensor\";\n> >               hwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;\n> > +     }\n> >\n> > -     if\n> (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING))\n> > +     if\n> (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING))\n> {\n> > +             LOG(HAL, Info) << noFull << \"missing manual post\n> processing\";\n> >               hwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;\n> > +     }\n> >\n> > -     if\n> (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE))\n> > +     if\n> (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE)) {\n> > +             LOG(HAL, Info) << noFull << \"missing burst capture\";\n> >               hwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;\n> > +     }\n>\n> Fine with me if it makes things easier for you\n>\n> >\n> >       found = staticMetadata_->getEntry(ANDROID_SYNC_MAX_LATENCY,\n> &entry);\n> >       if (!found || *entry.data.i32 != 0) {\n> > diff --git a/src/android/camera_hal_manager.cpp\n> b/src/android/camera_hal_manager.cpp\n> > index 7512cc4e..7fac4e3f 100644\n> > --- a/src/android/camera_hal_manager.cpp\n> > +++ b/src/android/camera_hal_manager.cpp\n> > @@ -140,7 +140,8 @@ void\n> CameraHalManager::cameraAdded(std::shared_ptr<Camera> cam)\n> >        */\n> >       if (!isCameraExternal && !halConfig_.exists()) {\n> >               LOG(HAL, Error)\n> > -                     << \"HAL configuration file is mandatory for\n> internal cameras\";\n> > +                     << \"HAL configuration file is mandatory for\n> internal cameras.\"\n> > +                     << \" Camera NOT loaded: \\\"\" << cam->id() << \"\\\"\";\n>\n> that capital \"NOT\" is a bit bold :)\n>\n> If you want to add information I would maybe\n>                         << \" Camera \" << cam->id() << \" failed to load\";\n>\n> I don't think you need \"\" around the camera id (we don't have it in\n> the other error messages)\n>\n>\n> >               return;\n> >       }\n> >\n> > diff --git a/src/libcamera/base/log.cpp b/src/libcamera/base/log.cpp\n> > index 55fbd7b0..88800158 100644\n> > --- a/src/libcamera/base/log.cpp\n> > +++ b/src/libcamera/base/log.cpp\n> > @@ -625,8 +625,10 @@ void Logger::parseLogFile()\n> >  void Logger::parseLogLevels()\n> >  {\n> >       const char *debug = utils::secure_getenv(\"LIBCAMERA_LOG_LEVELS\");\n> > -     if (!debug)\n> > +     if (!debug) {\n> > +             syslog(LOG_INFO, \"Could not find LIBCAMERA_LOG_LEVELS in\n> env\");\n> >               return;\n> > +     }\n>\n> This doesn't seems something to report everytime the library is loaded\n>\n> >\n> >       for (const char *pair = debug; *debug != '\\0'; pair = debug) {\n> >               const char *comma = strchrnul(debug, ',');\n> > diff --git a/src/libcamera/v4l2_subdevice.cpp\n> b/src/libcamera/v4l2_subdevice.cpp\n> > index 15e8206a..f3e25b86 100644\n> > --- a/src/libcamera/v4l2_subdevice.cpp\n> > +++ b/src/libcamera/v4l2_subdevice.cpp\n> > @@ -392,7 +392,7 @@ int V4L2Subdevice::getSelection(unsigned int pad,\n> unsigned int target,\n> >       if (ret < 0) {\n> >               LOG(V4L2, Error)\n> >                       << \"Unable to get rectangle \" << target << \" on\n> pad \"\n> > -                     << pad << \": \" << strerror(-ret);\n> > +                     << pad << \": \" << strerror(-ret) << \".\";\n>\n> Do we end all other error messages with a full stop ? Why this one\n> should ?\n>\n> >               return ret;\n> >       }\n> >\n> > --\n> > 2.34.1\n> >\n>","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 48465BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Oct 2022 22:30:46 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B75FC61F4B;\n\tFri, 28 Oct 2022 00:30:45 +0200 (CEST)","from mail-il1-x132.google.com (mail-il1-x132.google.com\n\t[IPv6:2607:f8b0:4864:20::132])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id F29CB61F4B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 28 Oct 2022 00:30:43 +0200 (CEST)","by mail-il1-x132.google.com with SMTP id l6so2023963ilq.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Oct 2022 15:30:43 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1666909845;\n\tbh=OGZmzejmEwGCgjBJk9wblFhH+COLcato2bd4XkO2izE=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=o0nKbmjuevwoadPlQSwNpzDbLHbc4qa5ceimulyUg2eIFbMxUFI89VjfQciS9YHiC\n\tvRs7ppJbhSDe8EVWyurICM+VpD474tfW3mRkGjpeZS+5V039HeueOIE4lSZPPvPxcY\n\tpIYs8m/RNIKTQAyDEEIy41JP0hAl3++9RabB9g7MfwXcdK+b/u+8SOOZWwrE2Hj1e/\n\t/bAW56xvqHiXsMqIc6sTRTwuQBgv0jwkzJPYQZ9NxpLw/dwqW81se0eGuo8hovGPxY\n\tr5Udg4bhEYMjbM5VKB1SLAoYKG+Ga84E4K2Kp9d6pWMEeTy+tEcHKN0hSdUMv0SE5r\n\tSprjLgTMT058g==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=rothemail-net.20210112.gappssmtp.com; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=mKAh9CGO4vnO+a8eI6rW7/+VPvhVppI6jZODouxngLE=;\n\tb=V/y8SQif6Vbatp13MlbAE4dEs82SafsDfuOPb+sB44oJe9bnlwjefgl9K5nKT5hdMQ\n\tT88r3M3ESlbipWtQHamiH/qwHJiEHreTmpWg64xZZMW1cZ5k3CaQ3MIM799Mecudo/k3\n\tLvU48qY5XXVPiiIn+Pbvu1rdo/gT36HyjoAuCrykTuT/sOWx82SkkVk2Vr2qO4lXQmLe\n\tAITfCr0nOj/oGD/YNeXhw+VjvdmBpXhdMZcAkGSjqrc/tBdd8GPkhknQ2dSR6zXFxA/f\n\tyL9O+DdgNACuaDfdjB3CKBcc3cQVUkgmST59vtk2vJf6Fn7jilrLa0P/Yy0b06vZet6/\n\tPWkA=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=rothemail-net.20210112.gappssmtp.com\n\theader.i=@rothemail-net.20210112.gappssmtp.com header.b=\"V/y8SQif\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=mKAh9CGO4vnO+a8eI6rW7/+VPvhVppI6jZODouxngLE=;\n\tb=wPoD1wq6vfN8MyuquGg03hMRYzFBXYhCk7WyERl9ALNZEf1Yw71m0IenM+7CSaOCjT\n\tbrH5cED4MuYry/djC/tCaeFIYA3vBu1Y4HiC0jGQthJWbXkXrczgn3QyzvnaakC6BOPv\n\tJq4dl8u2AM88CPRjrc61dagEWqnjKKE8+ijvLw78HLq9qpiSBbAB+1bWsLNBzu4G0Lr8\n\t3ptXzWdc02vLJbhjDO1iw4FRSoiMDrJAR/5ayqwAK1+aaLuII1vCkBj4g/m9pd5mEi/I\n\tbpYNw9y+QYtnxzDnkoBPzHoWj5TN2onAFjtjKkxc+AiVXcwURw6uw23Bwi0Fl2DBIPyf\n\tPk5w==","X-Gm-Message-State":"ACrzQf0lCdJ+/BSRIkEZJOspcCcHKZfYFFunbaCEZ7wnjLHcIuItyO/O\n\to2SwJ68f45M0iPeSQl0cNvQTwb5x6B0/HoqHn5RA57pYWWnsttzk","X-Google-Smtp-Source":"AMsMyM525UdbXNhjf+cfqpm1vUVSEI9B3BbiFurGwE9NYQzL7BrZhMh+w07SAkr5WBKUcJI4RDXbtxCmHkWiHc8qua8=","X-Received":"by 2002:a05:6e02:1bab:b0:2fa:2cfb:80e3 with SMTP id\n\tn11-20020a056e021bab00b002fa2cfb80e3mr30167865ili.24.1666909842687;\n\tThu, 27 Oct 2022 15:30:42 -0700 (PDT)","MIME-Version":"1.0","References":"<20221027055515.321791-1-nicholas@rothemail.net>\n\t<20221027055515.321791-11-nicholas@rothemail.net>\n\t<20221027165457.ovb6yf2foqjiugrb@uno.localdomain>","In-Reply-To":"<20221027165457.ovb6yf2foqjiugrb@uno.localdomain>","Date":"Thu, 27 Oct 2022 17:30:32 -0500","Message-ID":"<CAD2rFCp3oQ-xaSBj8j7A6LB27oTuDxrtvPTte0jRe120kGcgVA@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Content-Type":"multipart/alternative; boundary=\"0000000000000bdc9e05ec0bb1b6\"","Subject":"Re: [libcamera-devel] [PATCH 10/10] android: libcamera: add useful\n\tdebug prints","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>","From":"Nicholas Roth via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Nicholas Roth <nicholas@rothemail.net>","Cc":"Nicholas Roth via libcamera-devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]