[libcamera-devel] [PATCH v2 11/12] android: camera_stream: Define explicit move constructor and destructors
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Oct 20 05:10:38 CEST 2021
On Wed, Oct 20, 2021 at 12:08:21PM +0900, Hirokazu Honda wrote:
> On Wed, Oct 20, 2021 at 11:40 AM Laurent Pinchart wrote:
> > 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?
It's now possible to use the CameraStream class without having to
include post_processor.h. The PostProcessor class can be
forward-declared in camera_stream.h instead.
> > > > 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