summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-01-05 04:35:25 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-08-25 20:24:21 +0300
commit3bd19855459f6b58360197bc67c545a698812899 (patch)
treeeb73048267e21c6bd72cb6b5b2c1bcbad0c42850
parent852b9d0a7636fd7fa34cb424a9992642af4826b9 (diff)
v4l2: camera: Merge getStreamConfig() with open()
The V4L2CameraProxy always calls V4L2Camera::getStreamConfig() right after V4L2Camera::open(), and never afterwards. Simplify the code by returning the initial configuration from V4L2Camera::open() and removing V4L2Camera::getStreamConfig(). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
-rw-r--r--src/v4l2/v4l2_camera.cpp8
-rw-r--r--src/v4l2/v4l2_camera.h4
-rw-r--r--src/v4l2/v4l2_camera_proxy.cpp3
3 files changed, 5 insertions, 10 deletions
diff --git a/src/v4l2/v4l2_camera.cpp b/src/v4l2/v4l2_camera.cpp
index 7a22f983..3565f369 100644
--- a/src/v4l2/v4l2_camera.cpp
+++ b/src/v4l2/v4l2_camera.cpp
@@ -28,7 +28,7 @@ V4L2Camera::~V4L2Camera()
close();
}
-int V4L2Camera::open()
+int V4L2Camera::open(StreamConfiguration *streamConfig)
{
if (camera_->acquire() < 0) {
LOG(V4L2Compat, Error) << "Failed to acquire camera";
@@ -43,6 +43,7 @@ int V4L2Camera::open()
bufferAllocator_ = new FrameBufferAllocator(camera_);
+ *streamConfig = config_->at(0);
return 0;
}
@@ -64,11 +65,6 @@ void V4L2Camera::unbind()
efd_ = -1;
}
-void V4L2Camera::getStreamConfig(StreamConfiguration *streamConfig)
-{
- *streamConfig = config_->at(0);
-}
-
std::vector<V4L2Camera::Buffer> V4L2Camera::completedBuffers()
{
std::vector<Buffer> v;
diff --git a/src/v4l2/v4l2_camera.h b/src/v4l2/v4l2_camera.h
index be6c4e18..1fc5ebef 100644
--- a/src/v4l2/v4l2_camera.h
+++ b/src/v4l2/v4l2_camera.h
@@ -37,11 +37,11 @@ public:
V4L2Camera(std::shared_ptr<Camera> camera);
~V4L2Camera();
- int open();
+ int open(StreamConfiguration *streamConfig);
void close();
void bind(int efd);
void unbind();
- void getStreamConfig(StreamConfiguration *streamConfig);
+
std::vector<Buffer> completedBuffers();
int configure(StreamConfiguration *streamConfigOut,
diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
index 80287d8f..8ff990f6 100644
--- a/src/v4l2/v4l2_camera_proxy.cpp
+++ b/src/v4l2/v4l2_camera_proxy.cpp
@@ -63,13 +63,12 @@ int V4L2CameraProxy::open(V4L2CameraFile *file)
* with count = 0.
*/
- int ret = vcam_->open();
+ int ret = vcam_->open(&streamConfig_);
if (ret < 0) {
refcount_--;
return ret;
}
- vcam_->getStreamConfig(&streamConfig_);
setFmtFromConfig(streamConfig_);
files_.insert(file);