[libcamera-devel] [RFC/PATCH 1/5] qcam: Check that camera can generate configuration from roles
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri May 1 13:48:57 CEST 2020
Hi Niklas,
On Fri, May 01, 2020 at 04:05:59AM +0200, Niklas Söderlund wrote:
> On 2020-04-30 03:44:14 +0300, Laurent Pinchart wrote:
> > On Thu, Apr 30, 2020 at 02:36:00AM +0200, Niklas Söderlund wrote:
> > > If the camera can not generate a configuration from the requested roles
> > > it returns a nullptr which leads to a nullptr dereference. Fix this by
> > > adding a check that the camera generated a configuration before trying
> > > to access it.
> > >
> > > Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> > > ---
> > > src/qcam/main_window.cpp | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
> > > index ee779728fc630da8..b683c2e00d317307 100644
> > > --- a/src/qcam/main_window.cpp
> > > +++ b/src/qcam/main_window.cpp
> > > @@ -293,6 +293,10 @@ int MainWindow::startCapture()
> > >
> > > /* Configure the camera. */
> > > config_ = camera_->generateConfiguration(roles);
> > > + if (!config_) {
> > > + qWarning() << "Failed to generate configuration from roles";
> > > + return -EINVAL;
> > > + }
> >
> > This is certainly better than a crash, so
> >
> > Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> >
> > but what happens in the GUI ?
>
> It refuses to start to stream but does not lock-up, same as for the
> error cases bellow this one where -EINVAL is already returned.
We probably want to have a way to display messages in the GUI. Not
something for this patch series of course. I was thinking of a zone at
the bottom of the window with some sort of log (or even a single message
in a status bar).
> > >
> > > StreamConfiguration &cfg = config_->at(0);
> > >
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list