diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-01-05 04:35:25 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-08-25 20:24:21 +0300 |
commit | 3bd19855459f6b58360197bc67c545a698812899 (patch) | |
tree | eb73048267e21c6bd72cb6b5b2c1bcbad0c42850 | |
parent | 852b9d0a7636fd7fa34cb424a9992642af4826b9 (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.cpp | 8 | ||||
-rw-r--r-- | src/v4l2/v4l2_camera.h | 4 | ||||
-rw-r--r-- | src/v4l2/v4l2_camera_proxy.cpp | 3 |
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); |