[libcamera-devel] [PATCH] libcamera: Fix incorrect toString() to operator<<() conversions

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Jun 1 10:06:27 CEST 2022


On Tue, May 31, 2022 at 08:46:50AM +0100, Kieran Bingham wrote:
> Quoting Laurent Pinchart via libcamera-devel (2022-05-31 00:00:45)
> > Commit 8a845ab078c3 ("libcamera: Replace toString with operator<<() for
> > format classes") incorrectly converted some of the toString() usages,
> > resulting in pointer values being printed instead of formats. Fix it.
> > 
> > Fixes: 8a845ab078c3 ("libcamera: Replace toString with operator<<() for format classes")
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 
> Ooops
> 
> These look reasonable, but I haven't checked if there are more.

Not to my knowledge :-)

This is one of the drawbacks of the conversion to operator<<() I
suppose, these issues are not caught by the compiler.

> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> 
> > ---
> >  src/libcamera/pipeline/ipu3/cio2.cpp     | 2 +-
> >  src/libcamera/pipeline/ipu3/imgu.cpp     | 4 ++--
> >  src/libcamera/pipeline/simple/simple.cpp | 4 ++--
> >  3 files changed, 5 insertions(+), 5 deletions(-)
> > 
> > diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp
> > index a4e4d302f841..08e254f75eee 100644
> > --- a/src/libcamera/pipeline/ipu3/cio2.cpp
> > +++ b/src/libcamera/pipeline/ipu3/cio2.cpp
> > @@ -211,7 +211,7 @@ int CIO2Device::configure(const Size &size, V4L2DeviceFormat *outputFormat)
> >         if (ret)
> >                 return ret;
> >  
> > -       LOG(IPU3, Debug) << "CIO2 output format " << outputFormat;
> > +       LOG(IPU3, Debug) << "CIO2 output format " << *outputFormat;
> >  
> >         return 0;
> >  }
> > diff --git a/src/libcamera/pipeline/ipu3/imgu.cpp b/src/libcamera/pipeline/ipu3/imgu.cpp
> > index 34613feb8130..59305f85073c 100644
> > --- a/src/libcamera/pipeline/ipu3/imgu.cpp
> > +++ b/src/libcamera/pipeline/ipu3/imgu.cpp
> > @@ -479,7 +479,7 @@ int ImgUDevice::configure(const PipeConfig &pipeConfig, V4L2DeviceFormat *inputF
> >         if (ret)
> >                 return ret;
> >  
> > -       LOG(IPU3, Debug) << "ImgU input format = " << inputFormat;
> > +       LOG(IPU3, Debug) << "ImgU input format = " << *inputFormat;
> >  
> >         /*
> >          * \todo The IPU3 driver implementation shall be changed to use the
> > @@ -568,7 +568,7 @@ int ImgUDevice::configureVideoDevice(V4L2VideoDevice *dev, unsigned int pad,
> >  
> >         const char *name = dev == output_.get() ? "output" : "viewfinder";
> >         LOG(IPU3, Debug) << "ImgU " << name << " format = "
> > -                        << outputFormat;
> > +                        << *outputFormat;
> >  
> >         return 0;
> >  }
> > diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
> > index 76bd228b5aba..de75465eb3b5 100644
> > --- a/src/libcamera/pipeline/simple/simple.cpp
> > +++ b/src/libcamera/pipeline/simple/simple.cpp
> > @@ -610,7 +610,7 @@ int SimpleCameraData::setupFormats(V4L2SubdeviceFormat *format,
> >                                         << " produces " << sourceFormat
> >                                         << ", sink '" << sink->entity()->name()
> >                                         << "':" << sink->index()
> > -                                       << " requires " << format;
> > +                                       << " requires " << *format;
> >                                 return -EINVAL;
> >                         }
> >                 }
> > @@ -620,7 +620,7 @@ int SimpleCameraData::setupFormats(V4L2SubdeviceFormat *format,
> >                         << "':" << source->index()
> >                         << " -> '" << sink->entity()->name()
> >                         << "':" << sink->index()
> > -                       << " configured with format " << format;
> > +                       << " configured with format " << *format;
> >         }
> >  
> >         return 0;
> > 
> > base-commit: e115a691353151b3136581ac7f49cab6a3b0eb9a

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list