@@ -30,9 +30,6 @@ public:
void release();
bool busy() const { return acquired_; }
- int open();
- void close();
-
int populate();
bool valid() const { return valid_; }
@@ -62,6 +59,9 @@ private:
bool valid_;
bool acquired_;
+ int open();
+ void close();
+
std::map<unsigned int, MediaObject *> objects_;
MediaObject *object(unsigned int id);
bool addObject(MediaObject *object);
@@ -126,55 +126,6 @@ void MediaDevice::release()
* \sa acquire(), release()
*/
-/**
- * \brief Open the media device
- *
- * \return 0 on success or a negative error code otherwise
- * \retval -EBUSY Media device already open
- * \sa close()
- */
-int MediaDevice::open()
-{
- if (fd_ != -1) {
- LOG(MediaDevice, Error) << "MediaDevice already open";
- return -EBUSY;
- }
-
- int ret = ::open(deviceNode_.c_str(), O_RDWR);
- if (ret < 0) {
- ret = -errno;
- LOG(MediaDevice, Error)
- << "Failed to open media device at "
- << deviceNode_ << ": " << strerror(-ret);
- return ret;
- }
- fd_ = ret;
-
- return 0;
-}
-
-/**
- * \brief Close the media device
- *
- * This function closes the media device node. It does not invalidate the media
- * graph and all cached media objects remain valid and can be accessed normally.
- * Once closed no operation interacting with the media device node can be
- * performed until the device is opened again.
- *
- * Closing an already closed device is allowed and will not perform any
- * operation.
- *
- * \sa open()
- */
-void MediaDevice::close()
-{
- if (fd_ == -1)
- return;
-
- ::close(fd_);
- fd_ = -1;
-}
-
/**
* \brief Populate the MediaDevice with device information and media objects
*
@@ -440,6 +391,55 @@ int MediaDevice::disableLinks()
* driver unloading for most devices. The media device is passed as a parameter.
*/
+/**
+ * \brief Open the media device
+ *
+ * \return 0 on success or a negative error code otherwise
+ * \retval -EBUSY Media device already open
+ * \sa close()
+ */
+int MediaDevice::open()
+{
+ if (fd_ != -1) {
+ LOG(MediaDevice, Error) << "MediaDevice already open";
+ return -EBUSY;
+ }
+
+ int ret = ::open(deviceNode_.c_str(), O_RDWR);
+ if (ret < 0) {
+ ret = -errno;
+ LOG(MediaDevice, Error)
+ << "Failed to open media device at "
+ << deviceNode_ << ": " << strerror(-ret);
+ return ret;
+ }
+ fd_ = ret;
+
+ return 0;
+}
+
+/**
+ * \brief Close the media device
+ *
+ * This function closes the media device node. It does not invalidate the media
+ * graph and all cached media objects remain valid and can be accessed normally.
+ * Once closed no operation interacting with the media device node can be
+ * performed until the device is opened again.
+ *
+ * Closing an already closed device is allowed and will not perform any
+ * operation.
+ *
+ * \sa open()
+ */
+void MediaDevice::close()
+{
+ if (fd_ == -1)
+ return;
+
+ ::close(fd_);
+ fd_ = -1;
+}
+
/**
* \var MediaDevice::objects_
* \brief Global map of media objects (entities, pads, links) keyed by their
All external callers to open() and close() have been refactored and there is no need to expose these functions anymore, make them private. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> --- src/libcamera/include/media_device.h | 6 +- src/libcamera/media_device.cpp | 98 ++++++++++++++-------------- 2 files changed, 52 insertions(+), 52 deletions(-)