I am seeing occasional hangs when trying to capture images from the OV5640 camera. This is on a custom board design. This failure rate has remained consistent with testing on the 08 SDK and the 09 SDK.
I'm curious where I could add some debug to determine where it's getting stuck. To determine if its a camera issue, a mipi integrity issue, or a driver issue.
[60.539] TESTFIXTURE:Capturing test patterns [60.542] [60.542] Setting pipeline to PAUSED ... [61.326] Pipeline is live and does not need PREROLL ... [61.338] Pipeline is PREROLLED ... [61.341] Setting pipeline to PLAYING ... [61.344] New clock: GstSystemClock [61.346] timeout, tries left: 2 [62.610] Setting pipeline to PAUSED ... [63.060] Pipeline is live and does not need PREROLL ... [63.071] Pipeline is PREROLLED ... [63.073] Setting pipeline to PLAYING ... [63.076] New clock: GstSystemClock [63.079] timeout, tries left: 1 [64.686] Setting pipeline to PAUSED ... [65.140] Pipeline is live and does not need PREROLL ... [65.151] Pipeline is PREROLLED ... [65.154] Setting pipeline to PLAYING ... [65.157] New clock: GstSystemClock [65.159] [66.761] TESTFIXTURE:Timeout waiting for frames
echo_pc "Capturing test patterns" # Capture 10 frames to disk. We capture 10 to avoid any startup "noise" # pipeline hangs sometimes so add a timeout and try several times tries=3 while ! timeout --kill-after=1.0s 2.0s gst-launch-1.0 v4l2src device="$videodev" num-buffers=10 \ ! video/x-bayer, format=bggr, width=${W}, height=${H}, framerate=${FR}/1 \ ! multifilesink location="${tmpdir}/${framefile}%03d" do tries=$((tries-1)) if [ $tries -eq 0 ]; then echo_pc "Timeout waiting for frames" exit 4 fi echo "timeout, tries left: $tries" rm -f "${tmpdir}/${framefile}"* done