[libcamera-devel] [PATCH v2 1/2] android: CameraBuffer: Add a static function to check a buffer validness
Jacopo Mondi
jacopo at jmondi.org
Wed Apr 7 10:06:57 CEST 2021
Hi Hiro,
On Wed, Apr 07, 2021 at 01:36:19PM +0900, Hirokazu Honda wrote:
> This adds a static function to CameraBuffer class that checks if
> a buffer_handle is valid with a platform dependent framework.
> For example, the function validates a buffer using
> cros::CameraBufferManager on ChromeOS.
>
> Signed-off-by: Hirokazu Honda <hiroh at chromium.org>
> ---
> src/android/camera_buffer.h | 6 ++++++
> src/android/mm/cros_camera_buffer.cpp | 19 +++++++++++++++++++
> src/android/mm/generic_camera_buffer.cpp | 9 +++++++++
> 3 files changed, 34 insertions(+)
>
> diff --git a/src/android/camera_buffer.h b/src/android/camera_buffer.h
> index 7e8970b4..3bb9a435 100644
> --- a/src/android/camera_buffer.h
> +++ b/src/android/camera_buffer.h
> @@ -20,6 +20,8 @@ public:
> CameraBuffer(buffer_handle_t camera3Buffer, int flags);
> ~CameraBuffer();
>
> + static bool isValidBuffer(buffer_handle_t camera3Buffer);
> +
> bool isValid() const;
>
> unsigned int numPlanes() const;
> @@ -38,6 +40,10 @@ CameraBuffer::CameraBuffer(buffer_handle_t camera3Buffer, int flags) \
> CameraBuffer::~CameraBuffer() \
> { \
> } \
> +bool CameraBuffer::isValidBuffer(buffer_handle_t camera3Buffer) \
The closing '\' renders un-aligned in my mail client
> +{ \
> + return Private::isValidBuffer(camera3Buffer); \
> +} \
> bool CameraBuffer::isValid() const \
> { \
> const Private *const d = LIBCAMERA_D_PTR(); \
> diff --git a/src/android/mm/cros_camera_buffer.cpp b/src/android/mm/cros_camera_buffer.cpp
> index 1a4fd5d1..371a2511 100644
> --- a/src/android/mm/cros_camera_buffer.cpp
> +++ b/src/android/mm/cros_camera_buffer.cpp
> @@ -24,6 +24,8 @@ public:
> buffer_handle_t camera3Buffer, int flags);
> ~Private();
>
> + static bool isValidBuffer(buffer_handle_t camera3Buffer);
> +
> bool isValid() const { return valid_; }
>
> unsigned int numPlanes() const;
> @@ -133,4 +135,21 @@ size_t CameraBuffer::Private::jpegBufferSize(size_t maxJpegBufferSize) const
> return bufferManager_->GetPlaneSize(handle_, 0);
> }
>
> +// static
No C++ comments please
> +bool CameraBuffer::Private::isValidBuffer(buffer_handle_t camera3Buffer)
> +{
> + cros::CameraBufferManager * bufferManager =
*bufferManager
> + cros::CameraBufferManager::GetInstance();
> +
> + int ret = bufferManager->Register(camera3Buffer);
> + if (ret) {
> + return false;
> + }
No enclosing braces for 1-liners
> +
> + bufferManager->Deregister(camera3Buffer);
> +
> + return true;
> +}
> +
Double empty line
> +
> PUBLIC_CAMERA_BUFFER_IMPLEMENTATION
> diff --git a/src/android/mm/generic_camera_buffer.cpp b/src/android/mm/generic_camera_buffer.cpp
> index 929e078a..0c52e196 100644
> --- a/src/android/mm/generic_camera_buffer.cpp
> +++ b/src/android/mm/generic_camera_buffer.cpp
> @@ -24,6 +24,8 @@ public:
> buffer_handle_t camera3Buffer, int flags);
> ~Private();
>
> + static bool isValidBuffer(buffer_handle_t camera3Buffer);
> +
> unsigned int numPlanes() const;
>
> Span<uint8_t> plane(unsigned int plane);
> @@ -85,4 +87,11 @@ size_t CameraBuffer::Private::jpegBufferSize(size_t maxJpegBufferSize) const
> maxJpegBufferSize);
> }
>
> +// static
No C++ comments please
> +bool CameraBuffer::Private::isValidBuffer(
> + [[maybe_unused]] buffer_handle_t camera3Buffer)
> +{
> + return true;
Double empty line
> +
> +}
Please make sure to run checkstyle.py before submitting. You can
$ cp utils/hooks/post-commit .git/hooks
to automatize that.
The patch itself looks good
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Thanks
j
> PUBLIC_CAMERA_BUFFER_IMPLEMENTATION
> --
> 2.31.0.208.g409f899ff0-goog
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
More information about the libcamera-devel
mailing list