From 3bd19855459f6b58360197bc67c545a698812899 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 5 Jan 2020 04:35:25 +0200 Subject: 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 Reviewed-by: Kieran Bingham Reviewed-by: Paul Elder --- src/v4l2/v4l2_camera.cpp | 8 ++------ src/v4l2/v4l2_camera.h | 4 ++-- src/v4l2/v4l2_camera_proxy.cpp | 3 +-- 3 files changed, 5 insertions(+), 10 deletions(-) (limited to 'src/v4l2') 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::completedBuffers() { std::vector 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); ~V4L2Camera(); - int open(); + int open(StreamConfiguration *streamConfig); void close(); void bind(int efd); void unbind(); - void getStreamConfig(StreamConfiguration *streamConfig); + std::vector 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); -- cgit v1.2.1