libcamera: MediaEntity: expose the entity flags

The media entity flags can be useful for pipeline handlers to find the
default device in a media graph which is marked with the
MEDIA_ENT_FL_DEFAULT flag. This will be especially useful for the UVC
pipeline handler where the entity names differ per device.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Niklas Söderlund 2019-01-23 15:42:49 +01:00
parent d3f18625bc
commit 6013b58fee
2 changed files with 14 additions and 1 deletions

View file

@ -85,6 +85,7 @@ class MediaEntity : public MediaObject
public:
const std::string &name() const { return name_; }
unsigned int function() const { return function_; }
unsigned int flags() const { return flags_; }
const std::string &deviceNode() const { return deviceNode_; }
unsigned int deviceMajor() const { return major_; }
unsigned int deviceMinor() const { return minor_; }
@ -106,6 +107,7 @@ private:
std::string name_;
unsigned int function_;
unsigned int flags_;
std::string deviceNode_;
unsigned int major_;
unsigned int minor_;

View file

@ -265,6 +265,16 @@ void MediaPad::addLink(MediaLink *link)
* \return The entity's function
*/
/**
* \fn MediaEntity::flags()
* \brief Retrieve the entity's flags
*
* Media entity flags are expressed using the MEDIA_ENT_FL_* macros
* defined by the Media Controller API.
*
* \return The entity's flags
*/
/**
* \fn MediaEntity::deviceNode()
* \brief Retrieve the entity's device node path, if any
@ -358,7 +368,8 @@ MediaEntity::MediaEntity(MediaDevice *dev,
const struct media_v2_entity *entity,
unsigned int major, unsigned int minor)
: MediaObject(dev, entity->id), name_(entity->name),
function_(entity->function), major_(major), minor_(minor)
function_(entity->function), flags_(entity->flags),
major_(major), minor_(minor)
{
}