[PATCH v2 0/3] gstreamer: Generate controls from control_ids_*.yaml files

Jaslo Ziska jaslo at ziska.de
Mon Sep 30 11:11:21 CEST 2024


Hi Laurent,

Laurent Pinchart <laurent.pinchart at ideasonboard.com> writes:
> Hi Jaslo,
>
> I think this series is close to being ready, and I would be very 
> happy
> to merge this much awaited feature. Do you plan to send a v3 ?

Yes, I very much plan on continuing to work on this. I was a 
pretty busy the past month but I should have more time later in 
October.

Unfortunately, I don't think that the series is quite ready. 
Nicolas had requested some bigger changes in v1 which still need 
to be discussed and implemented and I also want to add the 
readable/writeable and minimum/maximum properties to the yaml 
files (although this could also be done separately after merging).

Best regards,

Jaslo

> On Tue, Aug 13, 2024 at 02:25:04PM +0200, Jaslo Ziska wrote:
>> Hi everyone,
>> 
>> this is the second version of the patch set to implement 
>> gstreamer controls
>> from the yaml files.
>> This now depends on "[PATCH 00/10] libcamera: Improve code 
>> generation for
>> controls" for the code generation.
>> 
>> The following things changed:
>> 
>> The (old) third commit fixing a typo has been removed as it is 
>> already merged.
>> 
>> The first commit is new: it removes the auto-focus-mode 
>> property from the
>> device provider where it has been added on accident.
>> 
>> The commit message has been updated in the second commit.
>> 
>> The third commit, which adds the code that generates the 
>> gstreamer controls,
>> now makes use of jinja2 and the new controls.py file. As a 
>> consequence the
>> whole code generation has been redone.
>> 
>> There are also some new features:
>> 
>> It is now possible to read the metadata returned by requests 
>> from the gstreamer
>> properties. This is done using a new function readMetadata() 
>> which reads the
>> ControlList in requestCompleted().
>> 
>> Before a control is set it is now checked whether this control 
>> is actually
>> supported by the camera. This is done by checking the cameras 
>> ControlInfoMap.
>> 
>> The Rectangle type is now supported.
>> 
>> Some checks were added to make sure the arrays passed to the 
>> element have the
>> correct length.
>> 
>> Best regards,
>> 
>> Jaslo
>> 
>> Jaslo Ziska (3):
>>   gstreamer: Remove auto-focus-mode property from device 
>>   provider
>>   gstreamer: Remove auto-focus-mode property from libcamerasrc
>>   gstreamer: Generate controls from control_ids_*.yaml files
>> 
>>  src/gstreamer/gstlibcamera-controls.cpp.in | 296 
>>  +++++++++++++++++++++
>>  src/gstreamer/gstlibcamera-controls.h      |  43 +++
>>  src/gstreamer/gstlibcameraprovider.cpp     |  15 --
>>  src/gstreamer/gstlibcamerasrc.cpp          |  50 ++--
>>  src/gstreamer/meson.build                  |  10 +
>>  utils/codegen/controls.py                  |   8 +
>>  utils/codegen/gen-gst-controls.py          | 151 +++++++++++
>>  utils/codegen/meson.build                  |   1 +
>>  8 files changed, 528 insertions(+), 46 deletions(-)
>>  create mode 100644 src/gstreamer/gstlibcamera-controls.cpp.in
>>  create mode 100644 src/gstreamer/gstlibcamera-controls.h
>>  create mode 100755 utils/codegen/gen-gst-controls.py


More information about the libcamera-devel mailing list