[libcamera-devel] [PATCH 2/3] libcamera: v4l2_subdevice: Add subdevice name
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Feb 22 00:19:49 CET 2019
Hi Jacopo,
Thank you for the patch.
On Tue, Feb 19, 2019 at 05:56:19PM +0100, Jacopo Mondi wrote:
> Add a deviceName_ field that contains the human readable name of the
> subdevice, which is created using the name of the associated media
> entity.
How about naming this name() instead of deviceName() ?
I also wonder if it would make sense to store a pointer to the media
entity, in order to allow easy access to other fields, instead of
duplicating the information. We wouldn't need to store deviceNode_ in
that case, just return entity_->deviceNode().
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
> src/libcamera/include/v4l2_subdevice.h | 2 ++
> src/libcamera/v4l2_subdevice.cpp | 9 ++++++++-
> 2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/v4l2_subdevice.h
> index c7045776555c..40becd0ca99b 100644
> --- a/src/libcamera/include/v4l2_subdevice.h
> +++ b/src/libcamera/include/v4l2_subdevice.h
> @@ -42,6 +42,7 @@ public:
> void close();
>
> std::string deviceNode() const { return deviceNode_; }
> + std::string deviceName() const { return deviceName_; }
>
> int setCrop(unsigned int pad, Rectangle *rect);
> int setCompose(unsigned int pad, Rectangle *rect);
> @@ -55,6 +56,7 @@ private:
> Rectangle *rect);
>
> std::string deviceNode_;
> + std::string deviceName_;
> int fd_;
> };
>
> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp
> index 5665154a2762..4411ffa51460 100644
> --- a/src/libcamera/v4l2_subdevice.cpp
> +++ b/src/libcamera/v4l2_subdevice.cpp
> @@ -134,7 +134,7 @@ LOG_DEFINE_CATEGORY(V4L2Subdev)
> * path
> */
> V4L2Subdevice::V4L2Subdevice(const MediaEntity *entity)
> - : deviceNode_(entity->deviceNode()), fd_(-1)
> + : deviceNode_(entity->deviceNode()), deviceName_(entity->name()), fd_(-1)
> {
> }
>
> @@ -193,6 +193,13 @@ void V4L2Subdevice::close()
> * \return The subdevice's device node system path
> */
>
> +/**
> + * \fn V4L2Subdevice::deviceName()
> + * \brief Retrieve the name of the media entity associated with the subdevice
> + *
> + * \return The name of the media entity the subdevice is associated to
> + */
> +
> /**
> * \brief Set a crop rectangle on one of the V4L2 subdevice pads
> * \param[in] pad The 0-indexed pad number the rectangle is to be applied to
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list