From d0e5c9467457ddc9d8c1979fe891f750d57ddf22 Mon Sep 17 00:00:00 2001 From: Mattias Axelsson Date: Fri, 30 Aug 2024 16:54:34 +0200 Subject: [PATCH] Follow RAII in Capture class --- src/acap_runtime.cpp | 6 +----- src/video_capture.cpp | 7 ++----- src/video_capture.h | 2 +- test/inference_unittest.cc | 2 +- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/acap_runtime.cpp b/src/acap_runtime.cpp index 9b6d2a2..ef2d09b 100644 --- a/src/acap_runtime.cpp +++ b/src/acap_runtime.cpp @@ -118,11 +118,7 @@ int RunServer(const string& address, builder.RegisterService(¶meter); // Register video capture service - Capture capture; - if (!capture.Init(_verbose)) { - syslog(LOG_ERR, "Could not initialize VideoCapture service"); - return EXIT_FAILURE; - } + Capture capture{_verbose}; builder.RegisterService(&capture); Inference inference{_verbose, chipId, models, &capture}; diff --git a/src/video_capture.cpp b/src/video_capture.cpp index abe8a2f..52d38df 100644 --- a/src/video_capture.cpp +++ b/src/video_capture.cpp @@ -38,16 +38,13 @@ using namespace videocapture::v1; namespace acap_runtime { // Initialize the capture service -bool Capture::Init(const bool verbose) { - this->_verbose = verbose; +Capture::Capture(const bool verbose) : _verbose(verbose) { TRACELOG << "Init" << endl; if (pthread_mutex_init(&_mutex, NULL) != 0) { ERRORLOG << "Init mutex failed" << endl; - return false; + throw runtime_error("Could not initialize VideoCapture service"); } - - return true; } // Create a new stream diff --git a/src/video_capture.h b/src/video_capture.h index 489ee4f..de8222a 100644 --- a/src/video_capture.h +++ b/src/video_capture.h @@ -50,7 +50,7 @@ class Capture final : public videocapture::v1::VideoCapture::Service { using Status = grpc::Status; using StatusCode = grpc::StatusCode; - bool Init(const bool verbose); + Capture(bool verbose); Status NewStream(ServerContext* context, const NewStreamRequest* request, diff --git a/test/inference_unittest.cc b/test/inference_unittest.cc index 0ef68fe..cc81691 100644 --- a/test/inference_unittest.cc +++ b/test/inference_unittest.cc @@ -39,7 +39,7 @@ const uint64_t cpuChipId = 2; const uint64_t tpuChipId = 4; const uint64_t dlpuChipId = 12; const char* sharedFile = "/test.bmp"; -Capture capture; +Capture capture{true}; void PredictModel1(Inference& inference, string modelName,