[libcamera-devel] [PATCH 1/2] libcamera: pipeline: simple: Set camera properties

Andrey Konovalov andrey.konovalov at linaro.org
Wed Oct 21 15:59:38 CEST 2020


On 21.10.2020 16:16, Andrey Konovalov wrote:
> Hi Laurent,
> 
> Thank you for the patch!
> Now I can see (on my setup using simple pipeline):
> -----8<-----
> Property: Rotation = 0
> Property: Location = 0
> Property: Model = imx290
> -----8<-----
> added to the 'cam -c 1 -p' output.

Also 'cam -l' gives now:
-----8<-----
Available cameras:
1: Internal front camera (/base/soc/cci at 1b0c000/i2c-bus at 0/imx290 at 1a)
-----8<-----
instead of:
-----8<-----
1: [0:12:22.274562882] [877] ERROR Controls controls.cpp:957 Control 0x00000001 not found
Internal front camera (/base/soc/cci at 1b0c000/i2c-bus at 0/imx290 at 1a)
-----8<-----
before the patch.

The ERROR was due to:
CamApp::cameraName() -> ControlList::get(properties::Location) -> ControlList::find() with the
list of properties supported by the camera not initialized.

And the old behavior seems to reveal a bug in ControlList::get() - if int32 control is not found,
ControlList::get() returns 0 which can be a valid control value like "internal front camera" in the
properties::Location case).


Thanks,
Andrey

> Tested-by: Andrey Konovalov <andrey.konovalov at linaro.org>
> 
> Thanks,
> Andrey
> 
> On 21.10.2020 03:24, Laurent Pinchart wrote:
>> Initialize the CameraData properties with the properties exposed by the
>> sensor.
>>
>> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>> ---
>>   src/libcamera/pipeline/simple/simple.cpp | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
>> index 8868a43beeb4..4b6f708e8fee 100644
>> --- a/src/libcamera/pipeline/simple/simple.cpp
>> +++ b/src/libcamera/pipeline/simple/simple.cpp
>> @@ -324,6 +324,8 @@ int SimpleCameraData::init()
>>           return -EINVAL;
>>       }
>> +    properties_ = sensor_->properties();
>> +
>>       return 0;
>>   }
>>


More information about the libcamera-devel mailing list