diff options
author | Naushir Patuck <naush@raspberrypi.com> | 2023-10-24 14:27:46 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2023-11-21 11:48:22 +0200 |
commit | 091591b52e5535065eef141339c3d69406185136 (patch) | |
tree | 89188ed416698d92d3a4d8b9f660168413ac7fc2 | |
parent | 882d04d740eec4176d5639a30ac282b89ed49d10 (diff) |
pipeline: rpi: Add some useful logging messages
Add a bunch of logging messages that have come in handy debugging
various issues with the pipeline handler code.
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r-- | src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 11 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/vc4/vc4.cpp | 3 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp index 9f788c9d..8e1cbbe6 100644 --- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp @@ -731,7 +731,8 @@ int PipelineHandlerBase::queueRequestDevice(Camera *camera, Request *request) if (!data->isRunning()) return -EINVAL; - LOG(RPI, Debug) << "queueRequestDevice: New request."; + LOG(RPI, Debug) << "queueRequestDevice: New request sequence: " + << request->sequence(); /* Push all buffers supplied in the Request to the respective streams. */ for (auto stream : data->streams_) { @@ -1436,6 +1437,8 @@ void CameraData::handleStreamBuffer(FrameBuffer *buffer, RPi::Stream *stream) * Tag the buffer as completed, returning it to the * application. */ + LOG(RPI, Debug) << "Completing request buffer for stream " + << stream->name(); pipe()->completeBuffer(request, buffer); } else { /* @@ -1444,6 +1447,8 @@ void CameraData::handleStreamBuffer(FrameBuffer *buffer, RPi::Stream *stream) * unconditionally for internal streams), or there is no pending * request, so we can recycle it. */ + LOG(RPI, Debug) << "Returning buffer to stream " + << stream->name(); stream->returnBuffer(buffer); } } @@ -1487,6 +1492,9 @@ void CameraData::checkRequestCompleted() if (state_ != State::IpaComplete) return; + LOG(RPI, Debug) << "Completing request sequence: " + << request->sequence(); + pipe()->completeRequest(request); requestQueue_.pop(); requestCompleted = true; @@ -1499,6 +1507,7 @@ void CameraData::checkRequestCompleted() if (state_ == State::IpaComplete && ((ispOutputCount_ == ispOutputTotal_ && dropFrameCount_) || requestCompleted)) { + LOG(RPI, Debug) << "Going into Idle state"; state_ = State::Idle; if (dropFrameCount_) { dropFrameCount_--; diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp index a5cc4fc1..26102ea7 100644 --- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp +++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp @@ -283,6 +283,9 @@ int PipelineHandlerVc4::prepareBuffers(Camera *camera) numBuffers = 1; } + LOG(RPI, Debug) << "Preparing " << numBuffers + << " buffers for stream " << stream->name(); + ret = stream->prepareBuffers(numBuffers); if (ret < 0) return ret; |