Message ID | 20250807132052.84591-1-uajain@igalia.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Quoting Umang Jain (2025-08-07 14:20:52) > Pass Request::ReuseBuffers flag to request->reuse() > where the same buffers are added to the request, as the flag > exists precisely for such use cases. > > Signed-off-by: Umang Jain <uajain@igalia.com> > --- > test/camera/buffer_import.cpp | 8 +------- > test/camera/camera_reconfigure.cpp | 8 +------- > test/camera/capture.cpp | 8 +------- > 3 files changed, 3 insertions(+), 21 deletions(-) > > diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp > index 815d1cae..d6feee79 100644 > --- a/test/camera/buffer_import.cpp > +++ b/test/camera/buffer_import.cpp > @@ -52,16 +52,10 @@ protected: > if (request->status() != Request::RequestComplete) > return; > > - const Request::BufferMap &buffers = request->buffers(); > - > completeRequestsCount_++; > > /* Create a new request. */ > - const Stream *stream = buffers.begin()->first; > - FrameBuffer *buffer = buffers.begin()->second; > - > - request->reuse(); > - request->addBuffer(stream, buffer); > + request->reuse(Request::ReuseBuffers); > camera_->queueRequest(request); > > dispatcher_->interrupt(); > diff --git a/test/camera/camera_reconfigure.cpp b/test/camera/camera_reconfigure.cpp > index 06c87730..ae9941c1 100644 > --- a/test/camera/camera_reconfigure.cpp > +++ b/test/camera/camera_reconfigure.cpp > @@ -46,14 +46,8 @@ private: > if (request->status() != Request::RequestComplete) > return; > > - const Request::BufferMap &buffers = request->buffers(); > - > - const Stream *stream = buffers.begin()->first; > - FrameBuffer *buffer = buffers.begin()->second; > - > /* Reuse the request and re-queue it with the same buffers. */ > - request->reuse(); > - request->addBuffer(stream, buffer); > + request->reuse(Request::ReuseBuffers); > camera_->queueRequest(request); > } > > diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp > index 8766fb19..a4168661 100644 > --- a/test/camera/capture.cpp > +++ b/test/camera/capture.cpp > @@ -48,16 +48,10 @@ protected: > if (request->status() != Request::RequestComplete) > return; > > - const Request::BufferMap &buffers = request->buffers(); > - > completeRequestsCount_++; > > /* Create a new request. */ Something about this comment stands out ... > - const Stream *stream = buffers.begin()->first; > - FrameBuffer *buffer = buffers.begin()->second; > - > - request->reuse(); > - request->addBuffer(stream, buffer); > + request->reuse(Request::ReuseBuffers); > camera_->queueRequest(request); > > dispatcher_->interrupt(); > -- > 2.50.0 >
On 2025-08-07 19:08, Kieran Bingham wrote: > Quoting Umang Jain (2025-08-07 14:20:52) >> Pass Request::ReuseBuffers flag to request->reuse() >> where the same buffers are added to the request, as the flag >> exists precisely for such use cases. >> >> Signed-off-by: Umang Jain <uajain@igalia.com> >> --- >> test/camera/buffer_import.cpp | 8 +------- >> test/camera/camera_reconfigure.cpp | 8 +------- >> test/camera/capture.cpp | 8 +------- >> 3 files changed, 3 insertions(+), 21 deletions(-) >> >> diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp >> index 815d1cae..d6feee79 100644 >> --- a/test/camera/buffer_import.cpp >> +++ b/test/camera/buffer_import.cpp >> @@ -52,16 +52,10 @@ protected: >> if (request->status() != Request::RequestComplete) >> return; >> >> - const Request::BufferMap &buffers = request->buffers(); >> - >> completeRequestsCount_++; >> >> /* Create a new request. */ >> - const Stream *stream = buffers.begin()->first; >> - FrameBuffer *buffer = buffers.begin()->second; >> - >> - request->reuse(); >> - request->addBuffer(stream, buffer); >> + request->reuse(Request::ReuseBuffers); >> camera_->queueRequest(request); >> >> dispatcher_->interrupt(); >> diff --git a/test/camera/camera_reconfigure.cpp b/test/camera/camera_reconfigure.cpp >> index 06c87730..ae9941c1 100644 >> --- a/test/camera/camera_reconfigure.cpp >> +++ b/test/camera/camera_reconfigure.cpp >> @@ -46,14 +46,8 @@ private: >> if (request->status() != Request::RequestComplete) >> return; >> >> - const Request::BufferMap &buffers = request->buffers(); >> - >> - const Stream *stream = buffers.begin()->first; >> - FrameBuffer *buffer = buffers.begin()->second; >> - >> /* Reuse the request and re-queue it with the same buffers. */ >> - request->reuse(); >> - request->addBuffer(stream, buffer); >> + request->reuse(Request::ReuseBuffers); >> camera_->queueRequest(request); >> } >> >> diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp >> index 8766fb19..a4168661 100644 >> --- a/test/camera/capture.cpp >> +++ b/test/camera/capture.cpp >> @@ -48,16 +48,10 @@ protected: >> if (request->status() != Request::RequestComplete) >> return; >> >> - const Request::BufferMap &buffers = request->buffers(); >> - >> completeRequestsCount_++; >> >> /* Create a new request. */ > > Something about this comment stands out ... It was meant to be removed from c753223a libcamera, android, cam, gstreamer, qcam, v4l2: Reuse Request I believe. I can remove as part of this patch though with a comment in commit message. > >> - const Stream *stream = buffers.begin()->first; >> - FrameBuffer *buffer = buffers.begin()->second; >> - >> - request->reuse(); >> - request->addBuffer(stream, buffer); >> + request->reuse(Request::ReuseBuffers); >> camera_->queueRequest(request); >> >> dispatcher_->interrupt(); >> -- >> 2.50.0 >>
diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp index 815d1cae..d6feee79 100644 --- a/test/camera/buffer_import.cpp +++ b/test/camera/buffer_import.cpp @@ -52,16 +52,10 @@ protected: if (request->status() != Request::RequestComplete) return; - const Request::BufferMap &buffers = request->buffers(); - completeRequestsCount_++; /* Create a new request. */ - const Stream *stream = buffers.begin()->first; - FrameBuffer *buffer = buffers.begin()->second; - - request->reuse(); - request->addBuffer(stream, buffer); + request->reuse(Request::ReuseBuffers); camera_->queueRequest(request); dispatcher_->interrupt(); diff --git a/test/camera/camera_reconfigure.cpp b/test/camera/camera_reconfigure.cpp index 06c87730..ae9941c1 100644 --- a/test/camera/camera_reconfigure.cpp +++ b/test/camera/camera_reconfigure.cpp @@ -46,14 +46,8 @@ private: if (request->status() != Request::RequestComplete) return; - const Request::BufferMap &buffers = request->buffers(); - - const Stream *stream = buffers.begin()->first; - FrameBuffer *buffer = buffers.begin()->second; - /* Reuse the request and re-queue it with the same buffers. */ - request->reuse(); - request->addBuffer(stream, buffer); + request->reuse(Request::ReuseBuffers); camera_->queueRequest(request); } diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp index 8766fb19..a4168661 100644 --- a/test/camera/capture.cpp +++ b/test/camera/capture.cpp @@ -48,16 +48,10 @@ protected: if (request->status() != Request::RequestComplete) return; - const Request::BufferMap &buffers = request->buffers(); - completeRequestsCount_++; /* Create a new request. */ - const Stream *stream = buffers.begin()->first; - FrameBuffer *buffer = buffers.begin()->second; - - request->reuse(); - request->addBuffer(stream, buffer); + request->reuse(Request::ReuseBuffers); camera_->queueRequest(request); dispatcher_->interrupt();
Pass Request::ReuseBuffers flag to request->reuse() where the same buffers are added to the request, as the flag exists precisely for such use cases. Signed-off-by: Umang Jain <uajain@igalia.com> --- test/camera/buffer_import.cpp | 8 +------- test/camera/camera_reconfigure.cpp | 8 +------- test/camera/capture.cpp | 8 +------- 3 files changed, 3 insertions(+), 21 deletions(-)