android: camera_stream: Pass StreamBuffer to process()

Now that we have a proper structure to model a stream buffer, pass it to
CameraStream::process() instead of the camera3_stream_buffer_t. This
will allow accessing other members of StreamBuffer in subsequent
commits.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
This commit is contained in:
Laurent Pinchart 2021-10-19 17:17:56 +05:30 committed by Umang Jain
parent 573fcb94d6
commit 640bf94d02
3 changed files with 11 additions and 10 deletions

View file

@ -143,15 +143,15 @@ int CameraStream::waitFence(int fence)
}
int CameraStream::process(const FrameBuffer &source,
camera3_stream_buffer_t &camera3Dest,
Camera3RequestDescriptor::StreamBuffer &dest,
Camera3RequestDescriptor *request)
{
/* Handle waiting on fences on the destination buffer. */
int fence = camera3Dest.acquire_fence;
int fence = dest.buffer.acquire_fence;
if (fence != -1) {
int ret = waitFence(fence);
::close(fence);
camera3Dest.acquire_fence = -1;
dest.buffer.acquire_fence = -1;
if (ret < 0) {
LOG(HAL, Error) << "Failed waiting for fence: "
<< fence << ": " << strerror(-ret);
@ -167,14 +167,14 @@ int CameraStream::process(const FrameBuffer &source,
* separate thread.
*/
const StreamConfiguration &output = configuration();
CameraBuffer dest(*camera3Dest.buffer, output.pixelFormat, output.size,
PROT_READ | PROT_WRITE);
if (!dest.isValid()) {
CameraBuffer destBuffer(*dest.buffer.buffer, output.pixelFormat,
output.size, PROT_READ | PROT_WRITE);
if (!destBuffer.isValid()) {
LOG(HAL, Error) << "Failed to create destination buffer";
return -EINVAL;
}
return postProcessor_->process(source, &dest, request);
return postProcessor_->process(source, &destBuffer, request);
}
FrameBuffer *CameraStream::getBuffer()