[libcamera-devel] [PATCH v3 8/8] libcamera: ipu3: Connect viewfinder's BufferReady signal
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Apr 5 17:45:26 CEST 2019
Hello Jacopo,
Thank you for the patch.
On Fri, Apr 05, 2019 at 01:53:48PM +0200, Niklas Söderlund wrote:
> On 2019-04-03 17:07:35 +0200, Jacopo Mondi wrote:
> > Connect the viewfinder buffer ready signal to the IPU3CameraData slot
> > that complets the buffer first, and if not waiting for other buffers
s/complets/completes/
> > completes the request as well.
I'm not sure to understand this sentence :-)
> >
> > Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
>
> Depending on the outcome of the question in 7/8 I think this patch looks
> good. I would add my tag if I felt comfortable with 7/8.
Same here, even though I think changes will be needed in
PipelineHandlerIPU3::IPU3CameraData::imguCaptureBufferReady().
> > ---
> > src/libcamera/pipeline/ipu3/ipu3.cpp | 12 +++++++-----
> > 1 file changed, 7 insertions(+), 5 deletions(-)
> >
> > diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> > index 17e3e8677e28..706e4f647ed7 100644
> > --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> > +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> > @@ -167,7 +167,7 @@ private:
> > {
> > }
> >
> > - void imguOutputBufferReady(Buffer *buffer);
> > + void imguCaptureBufferReady(Buffer *buffer);
> > void imguInputBufferReady(Buffer *buffer);
> > void cio2BufferReady(Buffer *buffer);
> >
> > @@ -755,7 +755,9 @@ int PipelineHandlerIPU3::registerCameras()
> > data->imgu_->input_->bufferReady.connect(data.get(),
> > &IPU3CameraData::imguInputBufferReady);
> > data->imgu_->output_.dev->bufferReady.connect(data.get(),
> > - &IPU3CameraData::imguOutputBufferReady);
> > + &IPU3CameraData::imguCaptureBufferReady);
> > + data->imgu_->viewfinder_.dev->bufferReady.connect(data.get(),
> > + &IPU3CameraData::imguCaptureBufferReady);
> >
> > /* Create and register the Camera instance. */
> > std::string cameraName = cio2->sensor_->entityName() + " "
> > @@ -799,13 +801,13 @@ void PipelineHandlerIPU3::IPU3CameraData::imguInputBufferReady(Buffer *buffer)
> > *
> > * Buffers completed from the ImgU output are directed to the application.
> > */
> > -void PipelineHandlerIPU3::IPU3CameraData::imguOutputBufferReady(Buffer *buffer)
> > +void PipelineHandlerIPU3::IPU3CameraData::imguCaptureBufferReady(Buffer *buffer)
> > {
> > Request *request = requestFromBuffer(buffer);
> > ASSERT(request);
> >
> > - pipe_->completeBuffer(camera_, request, buffer);
> > - pipe_->completeRequest(camera_, request);
> > + if (pipe_->completeBuffer(camera_, request, buffer))
> > + pipe_->completeRequest(camera_, request);
> > }
> >
> > /**
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list