[libcamera-devel] [PATCH] test: camera: Increase runtime for capture test

Niklas Söderlund niklas.soderlund at ragnatech.se
Tue Jun 11 16:05:48 CEST 2019


Hi Laurent,

Thanks for your feedback.

On 2019-06-11 16:30:13 +0300, Laurent Pinchart wrote:
> Hi Niklas,
> 
> Thank you for the patch.
> 
> On Tue, Jun 11, 2019 at 03:21:37PM +0200, Niklas Söderlund wrote:
> > Upstream commit 2978a505aaa981b2 ("media: vimc: stream: fix thread state
> > before sleep") changes the frame rate when capturing from the vimc raw
> > capture video nodes. The commit changes the frame rate from thousands of
> > frames per second to to roughly fifty.
> > 
> > The libcamera capture test was written with the assumption that vimc
> > would keep providing this fast frame rate and ran for a very short time
> > to decrease the overall run time of tests. This is no longer possible
> > and the test fails as it can't capture enough frames in its runtime,
> > increase the runtime to match the new vimc frame rate.
> > 
> > Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> 
> :-( I suppose we have no choice.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Thanks, pushed to master with your tag.

> 
> Is there any chance we could fix it in the kernel ?

I'm sure we could do something in the kernel. But looking at the code it 
looks like vimc is design to not deliver frames as fast as possible. The 
upstream commit which this patch address seems to be a bug fix. Maybe a 
discussion upstream to introduce a frame rate selection support on which 
supports extremal fast frame rates could be a way forward ?

> 
> > ---
> >  test/camera/capture.cpp | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp
> > index 98e71905531c76fe..7ce247cc482dfe4c 100644
> > --- a/test/camera/capture.cpp
> > +++ b/test/camera/capture.cpp
> > @@ -115,7 +115,7 @@ protected:
> >  		EventDispatcher *dispatcher = CameraManager::instance()->eventDispatcher();
> >  
> >  		Timer timer;
> > -		timer.start(100);
> > +		timer.start(1000);
> >  		while (timer.isRunning())
> >  			dispatcher->processEvents();
> >  
> 
> -- 
> Regards,
> 
> Laurent Pinchart

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list