[libcamera-devel] [PATCH 0/6] cam: add --format option to configure a stream

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Jan 30 18:05:34 CET 2019


Hi Kieran,

On 2019-01-30 13:46:17 +0000, Kieran Bingham wrote:
> Hi Niklas,
> 
> When I rebase a series with these patches included - it fails to compile
> each patch cleanly using the -x command.
> 
>  git rebase -i $BASECOMMIT -x "cd build && ninja"
> 
> 
> Now I don't think that's a fault of this series, but a fault of the
> src/cam/meson.build file not specifying the options.h header as part of
> the sources. I think that is causing the main.cpp not to get
> rebuilt/re-linked when there are further changes here to the options
> file ...
> 
> However - I'm surprised, as I would have expected meson to do some sort
> of include depend checking or generation.
> 
> Have you experienced anything similar here? or am I going crazy.

I have experienced it, and not only with the cam tool but the library as 
a whole. As I understand it we don't list any header files as sources.  
We just list them to feed them to Doxygen if I understand it correctly.  

I had it on my todo list to figure out why, but have not gotten around 
to do it as other things have been higher on my list and my workaround 
of using ccache and

    git rebase .. --exec "cd build && ninja clean && ninja"

allowed me to move forward :-)

> 
> Now I think about it - the options.cpp changes too - so it should still
> rebuild. Ugh.. so I'm not sure what the underlying fault is yet.

How do you think we should solve this? Looking around it seems other 
people are including there header files in the source file list, should 
we do the same?

> 
> --
> Kieran
> 
> 
> On 28/01/2019 00:41, Niklas Söderlund wrote:
> > Hi,
> > 
> > This series aims to add a --format option to the cam utility so that it 
> > can set the format of a stream of a specified camera. To do this in an 
> > efficient manner a new key=value parser is needed to understand the 
> > arguments given to the new option, example
> > 
> >     cam --camera mycam --format width=800,height=600
> > 
> > This series adds such a parser and then moves on to adding the new 
> > operation to the cam utility in 6/6. This series depends on [1] for 6/6 
> > which needs the stream API in the camera object to actually set the 
> > requested format.
> > 
> > 1. [PATCH v3 0/6] libcamera: add basic support for streams and format 
> >    configuration
> > 
> > Niklas Söderlund (6):
> >   cam: options: move enum OptionArgument
> >   cam: options: create a template class for options
> >   cam: options: return if addOption() succeeds or not
> >   cam: options: remove OptionsParser::options_
> >   cam: options: add a key=value parser
> >   cam: add --format option to configure a stream
> > 
> >  src/cam/main.cpp    | 107 ++++++++++++++++++++++----
> >  src/cam/options.cpp | 178 +++++++++++++++++++++++++++++++++++++++-----
> >  src/cam/options.h   |  70 +++++++++++++----
> >  3 files changed, 305 insertions(+), 50 deletions(-)
> > 
> 
> -- 
> Regards
> --
> Kieran

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list