diff options
author | Jacopo Mondi <jacopo@jmondi.org> | 2018-12-26 11:09:35 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-01-02 12:53:55 +0200 |
commit | d4af90d72901b1c6c2609ea8a3c0da76facf6c2e (patch) | |
tree | 348450495041618c944f4673d7bd4eaebabd1878 /src/libcamera/include/media_object.h | |
parent | 14291e50b7d9cfbc7bae51f84b97adf44cce6b55 (diff) |
libcamera: media_device: Create entities with major and minor numbers
Extend the MediaEntity object with device node major and minor numbers,
and retrieve them from the media graph using interfaces. They will be
used by the DeviceEnumerator to retrieve the devnode path.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/include/media_object.h')
-rw-r--r-- | src/libcamera/include/media_object.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libcamera/include/media_object.h b/src/libcamera/include/media_object.h index 65b55085..950a3328 100644 --- a/src/libcamera/include/media_object.h +++ b/src/libcamera/include/media_object.h @@ -80,21 +80,28 @@ class MediaEntity : public MediaObject { public: const std::string &name() const { return name_; } + unsigned int major() const { return major_; } + unsigned int minor() const { return minor_; } const std::vector<MediaPad *> &pads() const { return pads_; } const MediaPad *getPadByIndex(unsigned int index) const; const MediaPad *getPadById(unsigned int id) const; + int setDeviceNode(const std::string &devnode); + private: friend class MediaDevice; - MediaEntity(const struct media_v2_entity *entity); + MediaEntity(const struct media_v2_entity *entity, + unsigned int major = 0, unsigned int minor = 0); MediaEntity(const MediaEntity &) = delete; ~MediaEntity(); std::string name_; std::string devnode_; + unsigned int major_; + unsigned int minor_; std::vector<MediaPad *> pads_; |