libcamera: framebuffer: Make FrameBuffer::cancel() private
FrameBuffer::cancel() is not meant to be used by applications. Move it to the FrameBuffer::Private class. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> [Kieran: Handle rebase] Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
cef3e15324
commit
d98af71eaa
7 changed files with 17 additions and 15 deletions
|
@ -71,8 +71,6 @@ public:
|
|||
|
||||
std::unique_ptr<Fence> releaseFence();
|
||||
|
||||
void cancel() { metadata_.status = FrameMetadata::FrameCancelled; }
|
||||
|
||||
private:
|
||||
LIBCAMERA_DISABLE_COPY_AND_MOVE(FrameBuffer)
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ public:
|
|||
Fence *fence() const { return fence_.get(); }
|
||||
void setFence(std::unique_ptr<Fence> fence) { fence_ = std::move(fence); }
|
||||
|
||||
void cancel() { LIBCAMERA_O_PTR()->metadata_.status = FrameMetadata::FrameCancelled; }
|
||||
|
||||
private:
|
||||
std::unique_ptr<Fence> fence_;
|
||||
Request *request_;
|
||||
|
|
|
@ -186,6 +186,14 @@ FrameBuffer::Private::~Private()
|
|||
* fence and handle it opportunely before using the buffer again.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \fn FrameBuffer::Private::cancel()
|
||||
* \brief Marks the buffer as cancelled
|
||||
*
|
||||
* If a buffer is not used by a request, it shall be marked as cancelled to
|
||||
* indicate that the metadata is invalid.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \class FrameBuffer
|
||||
* \brief Frame buffer data and its associated dynamic metadata
|
||||
|
@ -407,12 +415,4 @@ std::unique_ptr<Fence> FrameBuffer::releaseFence()
|
|||
return std::move(_d()->fence_);
|
||||
}
|
||||
|
||||
/**
|
||||
* \fn FrameBuffer::cancel()
|
||||
* \brief Marks the buffer as cancelled
|
||||
*
|
||||
* If a buffer is not used by a request, it shall be marked as cancelled to
|
||||
* indicate that the metadata is invalid.
|
||||
*/
|
||||
|
||||
} /* namespace libcamera */
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "libcamera/internal/camera_sensor.h"
|
||||
#include "libcamera/internal/delayed_controls.h"
|
||||
#include "libcamera/internal/device_enumerator.h"
|
||||
#include "libcamera/internal/framebuffer.h"
|
||||
#include "libcamera/internal/ipa_manager.h"
|
||||
#include "libcamera/internal/media_device.h"
|
||||
#include "libcamera/internal/pipeline_handler.h"
|
||||
|
@ -836,7 +837,7 @@ void IPU3CameraData::cancelPendingRequests()
|
|||
|
||||
for (auto it : request->buffers()) {
|
||||
FrameBuffer *buffer = it.second;
|
||||
buffer->cancel();
|
||||
buffer->_d()->cancel();
|
||||
pipe()->completeBuffer(request, buffer);
|
||||
}
|
||||
|
||||
|
@ -1356,7 +1357,7 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)
|
|||
if (buffer->metadata().status == FrameMetadata::FrameCancelled) {
|
||||
for (auto it : request->buffers()) {
|
||||
FrameBuffer *b = it.second;
|
||||
b->cancel();
|
||||
b->_d()->cancel();
|
||||
pipe()->completeBuffer(request, b);
|
||||
}
|
||||
|
||||
|
|
|
@ -1907,7 +1907,7 @@ void RPiCameraData::clearIncompleteRequests()
|
|||
* request? If not, do so now.
|
||||
*/
|
||||
if (buffer->request()) {
|
||||
buffer->cancel();
|
||||
buffer->_d()->cancel();
|
||||
pipe()->completeBuffer(request, buffer);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "libcamera/internal/camera.h"
|
||||
#include "libcamera/internal/camera_sensor.h"
|
||||
#include "libcamera/internal/device_enumerator.h"
|
||||
#include "libcamera/internal/framebuffer.h"
|
||||
#include "libcamera/internal/ipa_manager.h"
|
||||
#include "libcamera/internal/media_device.h"
|
||||
#include "libcamera/internal/pipeline_handler.h"
|
||||
|
@ -574,7 +575,7 @@ void VimcCameraData::bufferReady(FrameBuffer *buffer)
|
|||
if (buffer->metadata().status == FrameMetadata::FrameCancelled) {
|
||||
for (auto it : request->buffers()) {
|
||||
FrameBuffer *b = it.second;
|
||||
b->cancel();
|
||||
b->_d()->cancel();
|
||||
pipe->completeBuffer(request, b);
|
||||
}
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ void Request::Private::doCancelRequest()
|
|||
Request *request = _o<Request>();
|
||||
|
||||
for (FrameBuffer *buffer : pending_) {
|
||||
buffer->cancel();
|
||||
buffer->_d()->cancel();
|
||||
camera_->bufferCompleted.emit(request, buffer);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue