diff options
Diffstat (limited to 'src/protocols')
| -rw-r--r-- | src/protocols/httpserver.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/protocols/httpserver.cpp b/src/protocols/httpserver.cpp index 3d5a0d5..afc113e 100644 --- a/src/protocols/httpserver.cpp +++ b/src/protocols/httpserver.cpp @@ -94,7 +94,7 @@ QHttpServerResponse HttpServer::GET_image() return QHttpServerResponse::StatusCode::ServiceUnavailable; } - pgm_save(image.get()); + pgm_save(image); std::lock_guard<std::mutex> lg(pgm_image_mtx); return QHttpServerResponse{QByteArray{(const char *) (pgm_image), @@ -115,12 +115,13 @@ QHttpServerResponse HttpServer::GET_pixels() return QHttpServerResponse::StatusCode::ServiceUnavailable; } - std::shared_ptr<Image> image; + // std::shared_ptr<Image> image; { // const elapsed_logger logger{__func__}; - /*const auto */ image = m_camera->getImage(); + // /*const auto */ image = m_camera->getImage(); } + const auto image = m_camera->getImage(); if (!image) { qWarning() << "cannot get image"; return QHttpServerResponse::StatusCode::ServiceUnavailable; @@ -128,9 +129,10 @@ QHttpServerResponse HttpServer::GET_pixels() // FIXME: inc m_camera->processedCounter // FIXME: not thread-safe, don't use this static shared_ptr at all - const auto pixels = image->sharedPixels(); + // const auto pixels = image->sharedPixels(); + const auto &pixels = image->getPixels(); // const auto lines = pixelsToLines(::pixels); - const auto lines = pixelsToLines(*pixels); + const auto lines = pixelsToLines(pixels); // qt json does not allow to limit double precision, so using rapidjson rapidjson::Document jd; @@ -142,7 +144,7 @@ QHttpServerResponse HttpServer::GET_pixels() rapidjson::Value rjPixels{rapidjson::kArrayType}; for (size_t i = 0; i < img_width; ++i) { - rjPixels.PushBack(nan2zero(pixels->pixels[i]), al); + rjPixels.PushBack(nan2zero(pixels.pixels[i]), al); } rapidjson::Value rjLines{rapidjson::kArrayType}; |
