[libcamera-devel] [PATCH 3/3] test: v4l2_videodevice: Fix format configuration in the vimc pipeline

paul.elder at ideasonboard.com paul.elder at ideasonboard.com
Thu Apr 7 13:27:18 CEST 2022


Hi Laurent,

On Thu, Apr 07, 2022 at 11:37:19AM +0300, Laurent Pinchart via libcamera-devel wrote:
> The V4L2VideoDeviceTest class configures the capture pipeline with
> parameters that are partly hardcoded, and partly come from the current
> configuration of the device. In particular, with the vimc pipeline, the
> sensor subdevice is configured with the size retrieved from the capture
> video node, and the video node is then reconfigured to 640x480.
> 
> Relying on the current (and thus possibly random) device configuration
> can lead to broken pipes when starting streaming. This currently causes
> failures of the dequeue_watchdog test when run after the formats test.
> 
> Fix it by explicitly setting the same size for both the vimc subdevs and
> the video capture device.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>

> ---
>  test/v4l2_videodevice/v4l2_videodevice_test.cpp | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/test/v4l2_videodevice/v4l2_videodevice_test.cpp b/test/v4l2_videodevice/v4l2_videodevice_test.cpp
> index f23aaf8f514b..125aafd65041 100644
> --- a/test/v4l2_videodevice/v4l2_videodevice_test.cpp
> +++ b/test/v4l2_videodevice/v4l2_videodevice_test.cpp
> @@ -60,6 +60,9 @@ int V4L2VideoDeviceTest::init()
>  	if (capture_->getFormat(&format))
>  		return TestFail;
>  
> +	format.size.width = 640;
> +	format.size.height = 480;
> +
>  	if (driver_ == "vimc") {
>  		sensor_ = new CameraSensor(media_->getEntityByName("Sensor A"));
>  		if (sensor_->init())
> @@ -82,8 +85,6 @@ int V4L2VideoDeviceTest::init()
>  			return TestFail;
>  	}
>  
> -	format.size.width = 640;
> -	format.size.height = 480;
>  	if (capture_->setFormat(&format))
>  		return TestFail;


More information about the libcamera-devel mailing list