[libcamera-devel] [PATCH 8/8] libcamera: camera: make sure camera is configured before starting

Niklas Söderlund niklas.soderlund at ragnatech.se
Tue Feb 26 20:08:54 CET 2019


Hi Jacopo,

Thanks for your feedback.

On 2019-02-26 18:21:26 +0100, Jacopo Mondi wrote:
> Hi Niklas,
> 
> On Tue, Feb 26, 2019 at 03:18:57AM +0100, Niklas Söderlund wrote:
> > If the camera is not configured there is little use to start it. Add a
> > check to make sure the camera is configured before it's started.
> >
> 
> As commented on the previous patch, shouldn't this (and more..)
> be caught by the state machine?

If we introduce a Configured state sometime in the future this could be 
replaced with such a check. As I replied earlier, this series aim is to 
enforce the current behavior and what have been discussed. Currently 
there is no way for an application to un-configure a camera so adding 
such a state now is not possible.

> 
> Thanks
>   j
> 
> 
> > Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> > ---
> >  src/libcamera/camera.cpp | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
> > index ba8638009992170f..cbc34599d25e5ed5 100644
> > --- a/src/libcamera/camera.cpp
> > +++ b/src/libcamera/camera.cpp
> > @@ -423,12 +423,19 @@ int Camera::queueRequest(Request *request)
> >   *
> >   * \return 0 on success or a negative error code
> >   * \retval -EACCES The camera is not in a state where it can be started.
> > + * \retval -EINVAL The camera is not configured.
> >   */
> >  int Camera::start()
> >  {
> >  	if (!stateIs(Acquired))
> >  		return -EACCES;
> >
> > +	if (activeStreams_.empty()) {
> > +		LOG(Camera, Error)
> > +			<< "Can't start camera without configuration";
> > +		return -EINVAL;
> > +	}
> > +
> >  	LOG(Camera, Debug) << "Starting capture";
> >
> >  	int ret = pipe_->start(this);
> > --
> > 2.20.1
> >
> > _______________________________________________
> > libcamera-devel mailing list
> > libcamera-devel at lists.libcamera.org
> > https://lists.libcamera.org/listinfo/libcamera-devel



-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list