[libcamera-devel] [PATCH] libcamera: Give MappedFrameBuffer its own implementation
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Aug 6 13:06:16 CEST 2021
Hi Kieran,
On Fri, Aug 06, 2021 at 11:56:40AM +0100, Kieran Bingham wrote:
> On 06/08/2021 11:37, Laurent Pinchart wrote:
> <snip>
>
> >>> +++ b/include/libcamera/internal/mapped_framebuffer.h
> >>> @@ -0,0 +1,52 @@
> >>> +/* SPDX-License-Identifier: LGPL-2.1-or-later */
> >>> +/*
> >>> + * Copyright (C) 2021, Google Inc.
> >>> + *
> >>> + * mapped_framebuffer.h - Frame buffer memory mapping support
> >>> + */
> >>> +#ifndef __LIBCAMERA_INTERNAL_MAPPED_FRAMEBUFFER_H__
> >>> +#define __LIBCAMERA_INTERNAL_MAPPED_FRAMEBUFFER_H__
> >>> +
> >>> +#include <sys/mman.h>
> >
> > This isn't needed anymore, but you need stdint.h instead.
>
> Users of MappedFrameBuffer need to specify the mapping flags.
It's not required by mapped_framebuffer.h, but it's indeed not nice to
for all users to include it.
> We can abstract that with your new Flags class now if you prefer ?
If we want to make this class public, then I'd prefer not depending on
sys/mman.h indeed. We can add a custom scoped enum (and use the newly
merged Flags<> class :-)).
> >>> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build
> >>> index dac1a2d36fa8..665fd6de4ed3 100644
> >>> --- a/include/libcamera/internal/meson.build
> >>> +++ b/include/libcamera/internal/meson.build
> >>> @@ -28,6 +28,7 @@ libcamera_internal_headers = files([
> >>> 'ipa_module.h',
> >>> 'ipa_proxy.h',
> >>> 'ipc_unixsocket.h',
> >>> + 'mapped_framebuffer.h',
> >>> 'media_device.h',
> >>> 'media_object.h',
> >>> 'pipeline_handler.h',
> >>> diff --git a/src/android/camera_buffer.h b/src/android/camera_buffer.h
> >>> index 21373fa25bf8..e67cfa2b363e 100644
> >>> --- a/src/android/camera_buffer.h
> >>> +++ b/src/android/camera_buffer.h
> >>> @@ -7,6 +7,8 @@
> >>> #ifndef __ANDROID_CAMERA_BUFFER_H__
> >>> #define __ANDROID_CAMERA_BUFFER_H__
> >>>
> >>> +#include <sys/mman.h>
> >>> +
>
> That's also why it is added here ...
>
> >>> #include <hardware/camera3.h>
> >>>
> >>> #include <libcamera/base/class.h>
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list