Message ID | 20190225121037.11415-2-jacopo@jmondi.org |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Jacopo, Thanks for your patch. On 2019-02-25 13:10:32 +0100, Jacopo Mondi wrote: > Store the media entity backing the V4L2Subdevice and add a deviceName() > method to retrieve the human readable name of the subdevice, which is > created using the name of the associated media entity. > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> > --- > src/libcamera/include/v4l2_subdevice.h | 5 ++++- > src/libcamera/v4l2_subdevice.cpp | 9 ++++++++- > 2 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/v4l2_subdevice.h > index 82fa6685ab52..fcfbee5af106 100644 > --- a/src/libcamera/include/v4l2_subdevice.h > +++ b/src/libcamera/include/v4l2_subdevice.h > @@ -9,9 +9,10 @@ > > #include <string> > > +#include "media_object.h" > + > namespace libcamera { > > -class MediaEntity; > struct Rectangle; > > struct V4L2SubdeviceFormat { > @@ -32,6 +33,7 @@ public: > void close(); > > std::string deviceNode() const { return deviceNode_; } > + std::string deviceName() const { return entity_->name(); } > > int setCrop(unsigned int pad, Rectangle *rect); > int setCompose(unsigned int pad, Rectangle *rect); > @@ -43,6 +45,7 @@ private: > int setSelection(unsigned int pad, unsigned int target, > Rectangle *rect); > > + const MediaEntity *entity_; > std::string deviceNode_; > int fd_; > }; > diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp > index b436f73cc75f..ebf87f0124cb 100644 > --- a/src/libcamera/v4l2_subdevice.cpp > +++ b/src/libcamera/v4l2_subdevice.cpp > @@ -88,7 +88,7 @@ LOG_DEFINE_CATEGORY(V4L2Subdev) > * path > */ > V4L2Subdevice::V4L2Subdevice(const MediaEntity *entity) > - : deviceNode_(entity->deviceNode()), fd_(-1) > + : entity_(entity), deviceNode_(entity->deviceNode()), fd_(-1) This looks odd. Can't you remove the deviceNode_ member of V4L2SubdeviceFormat and use the same schema to retrieve it as deviceName? std::string deviceNode() const { return entity_->deviceNode(); } std::string deviceName() const { return entity_->name(); } > { > } > > @@ -147,6 +147,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 > -- > 2.20.1 > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
Hi Niklas, On Tue, Feb 26, 2019 at 03:30:25AM +0100, Niklas Söderlund wrote: > Hi Jacopo, > > Thanks for your patch. > > On 2019-02-25 13:10:32 +0100, Jacopo Mondi wrote: > > Store the media entity backing the V4L2Subdevice and add a deviceName() > > method to retrieve the human readable name of the subdevice, which is > > created using the name of the associated media entity. > > > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> > > --- > > src/libcamera/include/v4l2_subdevice.h | 5 ++++- > > src/libcamera/v4l2_subdevice.cpp | 9 ++++++++- > > 2 files changed, 12 insertions(+), 2 deletions(-) > > > > diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/v4l2_subdevice.h > > index 82fa6685ab52..fcfbee5af106 100644 > > --- a/src/libcamera/include/v4l2_subdevice.h > > +++ b/src/libcamera/include/v4l2_subdevice.h > > @@ -9,9 +9,10 @@ > > > > #include <string> > > > > +#include "media_object.h" > > + > > namespace libcamera { > > > > -class MediaEntity; > > struct Rectangle; > > > > struct V4L2SubdeviceFormat { > > @@ -32,6 +33,7 @@ public: > > void close(); > > > > std::string deviceNode() const { return deviceNode_; } > > + std::string deviceName() const { return entity_->name(); } > > > > int setCrop(unsigned int pad, Rectangle *rect); > > int setCompose(unsigned int pad, Rectangle *rect); > > @@ -43,6 +45,7 @@ private: > > int setSelection(unsigned int pad, unsigned int target, > > Rectangle *rect); > > > > + const MediaEntity *entity_; > > std::string deviceNode_; > > int fd_; > > }; > > diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp > > index b436f73cc75f..ebf87f0124cb 100644 > > --- a/src/libcamera/v4l2_subdevice.cpp > > +++ b/src/libcamera/v4l2_subdevice.cpp > > @@ -88,7 +88,7 @@ LOG_DEFINE_CATEGORY(V4L2Subdev) > > * path > > */ > > V4L2Subdevice::V4L2Subdevice(const MediaEntity *entity) > > - : deviceNode_(entity->deviceNode()), fd_(-1) > > + : entity_(entity), deviceNode_(entity->deviceNode()), fd_(-1) > > This looks odd. Can't you remove the deviceNode_ member of > V4L2SubdeviceFormat and use the same schema to retrieve it as > deviceName? > > std::string deviceNode() const { return entity_->deviceNode(); } > std::string deviceName() const { return entity_->name(); } deviceNode is used in several places, I considered it was better to store it to avoid going through accessing the entity_. I'm sure the advantage is not that significant, so if you prefer so, I'll change it. Thanks j > > > { > > } > > > > @@ -147,6 +147,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 > > -- > > 2.20.1 > > > > _______________________________________________ > > libcamera-devel mailing list > > libcamera-devel@lists.libcamera.org > > https://lists.libcamera.org/listinfo/libcamera-devel > > -- > Regards, > Niklas Söderlund
diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/v4l2_subdevice.h index 82fa6685ab52..fcfbee5af106 100644 --- a/src/libcamera/include/v4l2_subdevice.h +++ b/src/libcamera/include/v4l2_subdevice.h @@ -9,9 +9,10 @@ #include <string> +#include "media_object.h" + namespace libcamera { -class MediaEntity; struct Rectangle; struct V4L2SubdeviceFormat { @@ -32,6 +33,7 @@ public: void close(); std::string deviceNode() const { return deviceNode_; } + std::string deviceName() const { return entity_->name(); } int setCrop(unsigned int pad, Rectangle *rect); int setCompose(unsigned int pad, Rectangle *rect); @@ -43,6 +45,7 @@ private: int setSelection(unsigned int pad, unsigned int target, Rectangle *rect); + const MediaEntity *entity_; std::string deviceNode_; int fd_; }; diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp index b436f73cc75f..ebf87f0124cb 100644 --- a/src/libcamera/v4l2_subdevice.cpp +++ b/src/libcamera/v4l2_subdevice.cpp @@ -88,7 +88,7 @@ LOG_DEFINE_CATEGORY(V4L2Subdev) * path */ V4L2Subdevice::V4L2Subdevice(const MediaEntity *entity) - : deviceNode_(entity->deviceNode()), fd_(-1) + : entity_(entity), deviceNode_(entity->deviceNode()), fd_(-1) { } @@ -147,6 +147,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
Store the media entity backing the V4L2Subdevice and add a deviceName() method to retrieve the human readable name of the subdevice, which is created using the name of the associated media entity. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> --- src/libcamera/include/v4l2_subdevice.h | 5 ++++- src/libcamera/v4l2_subdevice.cpp | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-)