I use an i.MX8 DualXplus and can display 4 camera streams with QtMultimedia (Qt5.15 eglfs). I change the display pages in QML with a QLoader. Every 5-10 times I open the camera page, the image has a large latency, which increases over time. When I close the display page and open it again, everything runs smoothly again. I have already experimented with max-size-bytes and max-size-time in the queue, but without success. Since the camera image is only displayed with a long delay, I think that the images are being buffered somewhere. Is there a way to drop the older frames and show only the latest one? Does anyone have another idea?
Thanks a lot.
Pipeline:
gst-pipeline: imxcompositor_g2d name=comp \
sink_3::xpos=640 sink_3::ypos=360 sink_3::width=640 sink_3::height=360 \
sink_2::xpos=0 sink_2::ypos=360 sink_2::width=640 sink_2::height=360 \
sink_1::xpos=640 sink_1::ypos=0 sink_1::width=640 sink_1::height=360 \
sink_0::xpos=0 sink_0::ypos=0 sink_0::width=640 sink_0::height=360 ! \
qtvideosink sync=false qos=false \
udpsrc port=5001 ! application/x-rtp,encoding-name=H264,payload=96,framerate=30/1 ! rtph264depay ! v4l2h264dec ! imxvideoconvert_g2d ! queue silent=true max-size-bytes=0 max-size-time=0 ! comp.sink_0 \
udpsrc port=5002 ! application/x-rtp,encoding-name=H264,payload=96,framerate=30/1 ! rtph264depay ! v4l2h264dec ! imxvideoconvert_g2d ! queue silent=true max-size-bytes=0 max-size-time=0 ! comp.sink_1 \
udpsrc port=5003 ! application/x-rtp,encoding-name=H264,payload=96,framerate=30/1 ! rtph264depay ! v4l2h264dec ! imxvideoconvert_g2d ! queue silent=true max-size-bytes=0 max-size-time=0 ! comp.sink_2 \
udpsrc port=5004 ! application/x-rtp,encoding-name=H264,payload=96,framerate=30/1 ! rtph264depay ! v4l2h264dec ! imxvideoconvert_g2d ! queue silent=true max-size-bytes=0 max-size-time=0 ! comp.sink_3"