From f7e75d9e7081f6e1c0379cca5585b771e64a8ac6 Mon Sep 17 00:00:00 2001
From: Jacopo Mondi <jacopo@jmondi.org>
Date: Tue, 29 Jan 2019 15:18:42 +0100
Subject: libcamera: v4l2_device: Construct from MediaEntity*

The V4L2Device constructor wants a "const MediaEntity &", while
entities are usually retrieved by pointer before being used to construct
a V4L2Device. Change the constructor argument to "const MediaEntity *".

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/include/v4l2_device.h  | 2 +-
 src/libcamera/pipeline/ipu3/ipu3.cpp | 2 +-
 src/libcamera/pipeline/uvcvideo.cpp  | 2 +-
 src/libcamera/pipeline/vimc.cpp      | 2 +-
 src/libcamera/v4l2_device.cpp        | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

(limited to 'src')

diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h
index 4ff48fba..87cde10d 100644
--- a/src/libcamera/include/v4l2_device.h
+++ b/src/libcamera/include/v4l2_device.h
@@ -72,7 +72,7 @@ class V4L2Device
 {
 public:
 	explicit V4L2Device(const std::string &deviceNode);
-	explicit V4L2Device(const MediaEntity &entity);
+	explicit V4L2Device(const MediaEntity *entity);
 	V4L2Device(const V4L2Device &) = delete;
 	~V4L2Device();
 
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 7823bbb5..fa3c5224 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -182,7 +182,7 @@ V4L2Device *PipelineHandlerIPU3::createVideoDevice(unsigned int id)
 	if (!cio2)
 		return nullptr;
 
-	V4L2Device *dev = new V4L2Device(*cio2);
+	V4L2Device *dev = new V4L2Device(cio2);
 	if (dev->open()) {
 		delete dev;
 		return nullptr;
diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
index ad4d45d0..ecec4e65 100644
--- a/src/libcamera/pipeline/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo.cpp
@@ -95,7 +95,7 @@ bool PipelineHandlerUVC::match(DeviceEnumerator *enumerator)
 
 	for (MediaEntity *entity : media_->entities()) {
 		if (entity->flags() & MEDIA_ENT_FL_DEFAULT) {
-			video_ = new V4L2Device(*entity);
+			video_ = new V4L2Device(entity);
 			break;
 		}
 	}
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
index 900477e2..86a89c63 100644
--- a/src/libcamera/pipeline/vimc.cpp
+++ b/src/libcamera/pipeline/vimc.cpp
@@ -97,7 +97,7 @@ bool PipeHandlerVimc::match(DeviceEnumerator *enumerator)
 
 	media_->acquire();
 
-	video_ = new V4L2Device(*media_->getEntityByName("Raw Capture 1"));
+	video_ = new V4L2Device(media_->getEntityByName("Raw Capture 1"));
 
 	if (video_->open()) {
 		media_->release();
diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index 4d1f76be..acb25586 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -169,8 +169,8 @@ V4L2Device::V4L2Device(const std::string &deviceNode)
  *
  * Construct a V4L2Device from a MediaEntity's device node path.
  */
-V4L2Device::V4L2Device(const MediaEntity &entity)
-	: V4L2Device(entity.deviceNode())
+V4L2Device::V4L2Device(const MediaEntity *entity)
+	: V4L2Device(entity->deviceNode())
 {
 }
 
-- 
cgit v1.2.1