[libcamera-devel,RFC,04/12] libcamera: pipelines: Switch to helper to resolve request from buffer

Message ID 20191028022525.796995-5-niklas.soderlund@ragnatech.se
State Superseded
Headers show
Series
  • libcamera: Rework buffer API
Related show

Commit Message

Niklas Söderlund Oct. 28, 2019, 2:25 a.m. UTC
Use the pipeline helper instead of the soon to be removed request
recorded in the buffer.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp     | 2 +-
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +-
 src/libcamera/pipeline/uvcvideo.cpp      | 2 +-
 src/libcamera/pipeline/vimc.cpp          | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

Comments

Laurent Pinchart Nov. 18, 2019, 7:16 p.m. UTC | #1
Hi Niklas,

Thank you for the patch.

On Mon, Oct 28, 2019 at 03:25:17AM +0100, Niklas Söderlund wrote:
> Use the pipeline helper instead of the soon to be removed request
> recorded in the buffer.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>

Assuming we really need to remove the request pointer in the Buffer
class,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

as this patch is fine in itself, but I still have doubts.

> ---
>  src/libcamera/pipeline/ipu3/ipu3.cpp     | 2 +-
>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +-
>  src/libcamera/pipeline/uvcvideo.cpp      | 2 +-
>  src/libcamera/pipeline/vimc.cpp          | 2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index ff90b729e558c3a3..8aa5f34febf16585 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -948,7 +948,7 @@ void IPU3CameraData::imguInputBufferReady(Buffer *buffer)
>   */
>  void IPU3CameraData::imguOutputBufferReady(Buffer *buffer)
>  {
> -	Request *request = buffer->request();
> +	Request *request = requestFromBuffer(buffer);
>  
>  	if (!pipe_->completeBuffer(camera_, request, buffer))
>  		/* Request not completed yet, return here. */
> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> index cefdb54a06d440fb..0803572754364beb 100644
> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> @@ -991,7 +991,7 @@ void PipelineHandlerRkISP1::bufferReady(Buffer *buffer)
>  {
>  	ASSERT(activeCamera_);
>  	RkISP1CameraData *data = cameraData(activeCamera_);
> -	Request *request = buffer->request();
> +	Request *request = data->requestFromBuffer(buffer);
>  
>  	data->timeline_.bufferReady(buffer);
>  
> diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
> index 5aa6a8f9e0b2b7a4..679d82d38227b991 100644
> --- a/src/libcamera/pipeline/uvcvideo.cpp
> +++ b/src/libcamera/pipeline/uvcvideo.cpp
> @@ -375,7 +375,7 @@ int UVCCameraData::init(MediaEntity *entity)
>  
>  void UVCCameraData::bufferReady(Buffer *buffer)
>  {
> -	Request *request = buffer->request();
> +	Request *request = requestFromBuffer(buffer);
>  
>  	pipe_->completeBuffer(camera_, request, buffer);
>  	pipe_->completeRequest(camera_, request);
> diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
> index 49b850cf0153020f..56898716a8cde074 100644
> --- a/src/libcamera/pipeline/vimc.cpp
> +++ b/src/libcamera/pipeline/vimc.cpp
> @@ -460,7 +460,7 @@ int VimcCameraData::init(MediaDevice *media)
>  
>  void VimcCameraData::bufferReady(Buffer *buffer)
>  {
> -	Request *request = buffer->request();
> +	Request *request = requestFromBuffer(buffer);
>  
>  	pipe_->completeBuffer(camera_, request, buffer);
>  	pipe_->completeRequest(camera_, request);

Patch

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index ff90b729e558c3a3..8aa5f34febf16585 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -948,7 +948,7 @@  void IPU3CameraData::imguInputBufferReady(Buffer *buffer)
  */
 void IPU3CameraData::imguOutputBufferReady(Buffer *buffer)
 {
-	Request *request = buffer->request();
+	Request *request = requestFromBuffer(buffer);
 
 	if (!pipe_->completeBuffer(camera_, request, buffer))
 		/* Request not completed yet, return here. */
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index cefdb54a06d440fb..0803572754364beb 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -991,7 +991,7 @@  void PipelineHandlerRkISP1::bufferReady(Buffer *buffer)
 {
 	ASSERT(activeCamera_);
 	RkISP1CameraData *data = cameraData(activeCamera_);
-	Request *request = buffer->request();
+	Request *request = data->requestFromBuffer(buffer);
 
 	data->timeline_.bufferReady(buffer);
 
diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
index 5aa6a8f9e0b2b7a4..679d82d38227b991 100644
--- a/src/libcamera/pipeline/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo.cpp
@@ -375,7 +375,7 @@  int UVCCameraData::init(MediaEntity *entity)
 
 void UVCCameraData::bufferReady(Buffer *buffer)
 {
-	Request *request = buffer->request();
+	Request *request = requestFromBuffer(buffer);
 
 	pipe_->completeBuffer(camera_, request, buffer);
 	pipe_->completeRequest(camera_, request);
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
index 49b850cf0153020f..56898716a8cde074 100644
--- a/src/libcamera/pipeline/vimc.cpp
+++ b/src/libcamera/pipeline/vimc.cpp
@@ -460,7 +460,7 @@  int VimcCameraData::init(MediaDevice *media)
 
 void VimcCameraData::bufferReady(Buffer *buffer)
 {
-	Request *request = buffer->request();
+	Request *request = requestFromBuffer(buffer);
 
 	pipe_->completeBuffer(camera_, request, buffer);
 	pipe_->completeRequest(camera_, request);