[PATCH 2/2] libcamera: simple: Log a missing sensor in a better way
Milan Zamazal
mzamazal at redhat.com
Mon Jul 1 14:40:25 CEST 2024
Hi Kieran,
thank you for review.
Kieran Bingham <kieran.bingham at ideasonboard.com> writes:
> Quoting Milan Zamazal (2024-06-27 18:33:05)
>> SimplePipelineHandler::match may be called several times for different
>> pipeline configurations. Not all of these calls must succeed. For
>
>> example, for TI AM69 board with a single camera attached, the following
>> error is reported in the log even when libcamera works fine:
>>
>> ERROR SimplePipeline simple.cpp:1558 No sensor found
>>
>> This is because a sensor is found for /dev/media0 but not for
>> /dev/media1. The error is harmless in such a case and only confuses
>> users who may think no camera is detected at all. Let's change the
>> error to info and add the device node to the message to indicate the
>> error is specific to the given media only. It's up to the callers to
>> report a fatal error condition if libcamera cannot work due to no
>> matching pipeline configuration.
>>
>> Signed-off-by: Milan Zamazal <mzamazal at redhat.com>
>> ---
>> src/libcamera/pipeline/simple/simple.cpp | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
>> index eb36578e..be0bb677 100644
>> --- a/src/libcamera/pipeline/simple/simple.cpp
>> +++ b/src/libcamera/pipeline/simple/simple.cpp
>> @@ -1548,9 +1548,10 @@ bool SimplePipelineHandler::match(DeviceEnumerator *enumerator)
>> /* Locate the sensors. */
>> std::vector<MediaEntity *> sensors = locateSensors();
>> if (sensors.empty()) {
>> - LOG(SimplePipeline, Error) << "No sensor found";
>> + LOG(SimplePipeline, Info) << "No sensor found for " << media_->deviceNode();
>> return false;
>> }
>> + LOG(SimplePipeline, Debug) << "Sensor found for " << media_->deviceNode();
>
> These I like.
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
>
> Is logPrefix defined for simple pipeline handler yet?
No, it is defined only in the algorithm-based software ISP refactoring
patches.
> media_->deviceNode() could be part of that perhaps (unless it's too
> long) to make it clear /which/ media device is in use.
A good idea, I'll consider it in the next iteration of the refactoring
patches.
>> /*
>> * Create one camera data instance for each sensor and gather all
>> --
>> 2.44.1
>>
More information about the libcamera-devel
mailing list