[libcamera-devel] [PATCH v2 11/12] android: camera_stream: Define explicit move constructor and destructors

Hirokazu Honda hiroh at chromium.org
Wed Oct 20 05:08:21 CEST 2021


Hi Laurent,

On Wed, Oct 20, 2021 at 11:40 AM Laurent Pinchart
<laurent.pinchart at ideasonboard.com> wrote:
>
> Hi Hiro,
>
> On Wed, Oct 20, 2021 at 11:18:42AM +0900, Hirokazu Honda wrote:
> > On Tue, Oct 19, 2021 at 8:48 PM Umang Jain <umang.jain at ideasonboard.com> wrote:
> > >
> > > From: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > >
> > > There's no need for the move constructor and the destructor to be
> > > inline. Define them explicitly, with default implementations. This
> > > allows usage of the CameraStream class without a complete definition of
> > > the PostProcessor class.
> >
> > What is complete definition meant here?
>
> It means a full definition of the class (as obtained by including
> post_processor.h), as opposed to a forward declaration.
>

Hmm, sorry I don't understand..
Could you tell me what concretely becomes possible?

-Hiro
> > > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > > Reviewed-by: Umang Jain<umang.jain at ideasonboard.com>
> > > Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
> > > ---
> > >  src/android/camera_stream.cpp | 4 ++++
> > >  src/android/camera_stream.h   | 2 ++
> > >  2 files changed, 6 insertions(+)
> > >
> > > diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp
> > > index 8e6ccb83..f44a2717 100644
> > > --- a/src/android/camera_stream.cpp
> > > +++ b/src/android/camera_stream.cpp
> > > @@ -56,6 +56,10 @@ CameraStream::CameraStream(CameraDevice *const cameraDevice,
> > >  {
> > >  }
> > >
> > > +CameraStream::CameraStream(CameraStream &&other) = default;
> > > +
> > > +CameraStream::~CameraStream() = default;
> > > +
> > >  const StreamConfiguration &CameraStream::configuration() const
> > >  {
> > >         return config_->at(index_);
> > > diff --git a/src/android/camera_stream.h b/src/android/camera_stream.h
> > > index 85064268..f242336e 100644
> > > --- a/src/android/camera_stream.h
> > > +++ b/src/android/camera_stream.h
> > > @@ -112,6 +112,8 @@ public:
> > >         CameraStream(CameraDevice *const cameraDevice,
> > >                      libcamera::CameraConfiguration *config, Type type,
> > >                      camera3_stream_t *camera3Stream, unsigned int index);
> > > +       CameraStream(CameraStream &&other);
> > > +       ~CameraStream();
> > >
> > >         Type type() const { return type_; }
> > >         camera3_stream_t *camera3Stream() const { return camera3Stream_; }
>
> --
> Regards,
>
> Laurent Pinchart


More information about the libcamera-devel mailing list