summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cam/capture.cpp13
-rw-r--r--src/cam/capture.h10
-rw-r--r--src/cam/main.cpp4
3 files changed, 15 insertions, 12 deletions
diff --git a/src/cam/capture.cpp b/src/cam/capture.cpp
index 55fa2dab..f811a18c 100644
--- a/src/cam/capture.cpp
+++ b/src/cam/capture.cpp
@@ -16,12 +16,13 @@
using namespace libcamera;
-Capture::Capture(std::shared_ptr<Camera> camera, CameraConfiguration *config)
- : camera_(camera), config_(config), writer_(nullptr)
+Capture::Capture(std::shared_ptr<Camera> camera, CameraConfiguration *config,
+ EventLoop *loop)
+ : camera_(camera), config_(config), writer_(nullptr), loop_(loop)
{
}
-int Capture::run(EventLoop *loop, const OptionsParser::Options &options)
+int Capture::run(const OptionsParser::Options &options)
{
int ret;
@@ -54,7 +55,7 @@ int Capture::run(EventLoop *loop, const OptionsParser::Options &options)
FrameBufferAllocator *allocator = new FrameBufferAllocator(camera_);
- ret = capture(loop, allocator);
+ ret = capture(allocator);
if (options.isSet(OptFile)) {
delete writer_;
@@ -66,7 +67,7 @@ int Capture::run(EventLoop *loop, const OptionsParser::Options &options)
return ret;
}
-int Capture::capture(EventLoop *loop, FrameBufferAllocator *allocator)
+int Capture::capture(FrameBufferAllocator *allocator)
{
int ret;
@@ -132,7 +133,7 @@ int Capture::capture(EventLoop *loop, FrameBufferAllocator *allocator)
}
std::cout << "Capture until user interrupts by SIGINT" << std::endl;
- ret = loop->exec();
+ ret = loop_->exec();
if (ret)
std::cout << "Failed to run capture loop" << std::endl;
diff --git a/src/cam/capture.h b/src/cam/capture.h
index 9bca5661..acdefc47 100644
--- a/src/cam/capture.h
+++ b/src/cam/capture.h
@@ -24,12 +24,12 @@ class Capture
{
public:
Capture(std::shared_ptr<libcamera::Camera> camera,
- libcamera::CameraConfiguration *config);
+ libcamera::CameraConfiguration *config,
+ EventLoop *loop);
- int run(EventLoop *loop, const OptionsParser::Options &options);
+ int run(const OptionsParser::Options &options);
private:
- int capture(EventLoop *loop,
- libcamera::FrameBufferAllocator *allocator);
+ int capture(libcamera::FrameBufferAllocator *allocator);
void requestComplete(libcamera::Request *request);
@@ -39,6 +39,8 @@ private:
std::map<libcamera::Stream *, std::string> streamName_;
BufferWriter *writer_;
std::chrono::steady_clock::time_point last_;
+
+ EventLoop *loop_;
};
#endif /* __CAM_CAPTURE_H__ */
diff --git a/src/cam/main.cpp b/src/cam/main.cpp
index ead0abe3..3e83feab 100644
--- a/src/cam/main.cpp
+++ b/src/cam/main.cpp
@@ -341,8 +341,8 @@ int CamApp::run()
}
if (options_.isSet(OptCapture)) {
- Capture capture(camera_, config_.get());
- return capture.run(loop_, options_);
+ Capture capture(camera_, config_.get(), loop_);
+ return capture.run(options_);
}
return 0;