AnsweredAssumed Answered

screen scroll issue and mxc_v4l_dqueue timeout error on imx6

Question asked by Maja Massarini on Jan 26, 2018
Latest reply on Jun 17, 2019 by Maja Massarini

We are using TW9900 on our board with iMX6 (based on L4.1.15_1.2.0_ga).
Driver for TW9900 was developed starting from code found in adv7180.c.
We have screen scroll issue as well explained in this application note: i.MX6_IPU_TVIN_Application_Notes.pdf but we can't apply the suggested patches since our kernel is 4 and not 3.
In our application we are using gstreamer and when we detect a scroll issue we restart the gstreamer process; this is a bad solution in many ways and we would like to improve it.

We would like to solve the scroll issue at driver level, maybe you have patches for the latest kernel?

Another good option to us would be change the gstreamer pipeline status from PLAYING to PAUSE (instead of restarting the all process); but when pausing gstreamer we got an error from the driver which stops gstreamer from working properly.


ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0


We have read suggestions in the linked application note on dqueue errors but it seems to us that none of them applies in our environment.
One more strange thing is that we can pause a gstreamer pipeline like the following one (others too):


# imxv4l2videosrc ! imxipuvideotransform deinterlace=1 ! imxg2dvideosink framebuffer=/dev/fb1


But we can't pause the gstreamer pipeline we really need:


# imxv4l2videosrc ! tee name=t t. ! queue ! imxipuvideotransform deinterlace=1 ! imxg2dvideosink framebuffer=/dev/fb1 t. ! queue ! videorate ! video/x-raw,framerate=15/1 ! imxipuvideotransform deinterlace=1 ! video/x-raw,width=320,height=240 ! videoscale method=1 ! video/x-raw ! v4l2sink device=/dev/video1


The gstreamer debug error is (and the driver error is... ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0)


ERROR imxv4l2bufferpool v4l2_buffer_pool.c:247:gst_imx_v4l2_buffer_pool_acquire_buffer:<imxv4l2bufferpool0> VIDIOC_DQBUF failed: Timer expired
WARN basesrc gstbasesrc.c:2950:gst_base_src_loop:<imxv4l2videosrc0> error: Internal data stream error.
WARN basesrc gstbasesrc.c:2950:gst_base_src_loop:<imxv4l2videosrc0> error: streaming stopped, reason error (-5)

I hope you can suggest us a way to address one of those issue.