The problem of changing the resolution in gstreamer 1.18.4


Have questions about gstreamer 1.18.4

This script in debian 11 gstreamer 1.18.4 run normally, the image from the capture card is visible on the screen:

gst-launch-1.0 v4l2src device=/dev/video0 ! capsfilter caps=" video/x-raw, format=UYVY, width=704, height=576" ! videoconvert ! ximagesink

This script does not start:

gst-launch-1.0 v4l2src device=/dev/video0 ! capsfilter caps=" video/x-raw, format=UYVY, width=352, height=288" ! videoconvert ! ximagesink

Errors from debugging logs:

default v4l2-utils.c:189:gst_v4l2_error: error: Device ‘/dev/video0’ does not support interleaved interlacing

default v4l2-utils.c:192:gst_v4l2_error: error: Device wants interleaved interlacing

basesrc gstbasesrc.c:3127:gst_base_src_loop: error: Internal data stream error.

basesrc gstbasesrc.c:3127:gst_base_src_loop: error: streaming stopped, reason not-negotiated (-4)

In debian 9 gstreamer 1.10.4, both scripts run without problems, with the expected result, in the first case the picture is bigger, in the second less, the resolution changes without errors.

An important point is that Debian 9 and Debian 11 use the same Linux 4.9 kernel, this is due to the capture card driver module.

What are the differences between gstreamer 1.10.4 and gstreamer 1.18.4 that lead to this result?

I think the problem not in driver, but in v4l2
(v4l2object: Read driver selected interlace mode (#511) · Issues · GStreamer / gst-plugins-good · GitLab)

Has your problem been resolved?

Thanks for the reply.
We will look for a solution.