Hello,
I just built kernel 17.06.1 (build instruction / links)
with small changes in /arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
and add of rootfs to existing alip in order to include ov5640 camera driver. I compiled gstreamer 1.12 as instructed.
Based on instructions here, I setup gstreamer video pipeline in the following way:
sudo media-ctl -d /dev/media1 -l '"msm_csiphy0":1->"msm_csid0":0[1],"msm_csid0":1->"msm_ispif0":0[1],"msm_ispif0":1->"msm_vfe0_pix":0[1]'
sudo media-ctl -d /dev/media1 -V '"ov5640 3-0078":0[fmt:UYVY8_2X8/2592x1944 field:none],"msm_csiphy0":0[fmt:UYVY8_2X8/2592x1944 field:none],"msm_csid0":0[fmt:UYVY8_2X8/2592x1944 field:none],"msm_ispif0":0[fmt:UYVY8_2X8/2592x1944 field:none],"msm_vfe0_pix":0[fmt:UYVY8_2X8/2592x1944 field:none]'
and tried acquiring an image with following command:
gst-launch-1.0 v4l2src device=/dev/video3 num-buffers=1 ! 'video/x-raw,format=UYVY,width=2592,height=1944,framerate=10/1' ! jpegenc ! filesink location=image01_5MP.jpg
I can’t get any image with that and the output message is the following:
Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error. Additional debug info: gstbasesrc.c(2939): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: streaming stopped, reason not-negotiated (-4) ERROR: pipeline doesn't want to preroll. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
I see no particular problem when I print the pipeline with following command:
sudo media-ctl -d /dev/media1 -p
I get this result as part of the printed elements:
- entity 49: msm_vfe0_video3 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Sink <- "msm_vfe0_pix":1 [ENABLED,IMMUTABLE]
However, using msm_vfe0_rdi0 instead of msm_vfe0_pix I can get an image out of the pipeline.
In details, I used following commands:
sudo media-ctl -d /dev/media1 -l '"msm_csiphy0":1->"msm_csid0":0[1],"msm_csid0":1->"msm_ispif0":0[1],"msm_ispif0":1->"msm_vfe0_rdi0":0[1]'
sudo media-ctl -d /dev/media1 -V '"ov5640 3-0078":0[fmt:UYVY8_2X8/2592x1944 field:none],"msm_csiphy0":0[fmt:UYVY8_2X8/2592x1944 field:none],"msm_csid0":0[fmt:UYVY8_2X8/2592x1944 field:none],"msm_ispif0":0[fmt:UYVY8_2X8/2592x1944 field:none],"msm_vfe0_rdi0":0[fmt:UYVY8_2X8/2592x1944 field:none]'
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=1 ! 'video/x-raw,format=UYVY,width=2592,height=1944,framerate=10/1' ! jpegenc ! filesink location=image01_5MP.jpg
So, why does he bother us with something that works at the end of the day ?
The point is that we have other issues and I don’t know if they are linked to this _pix - _rdi0, /dev/video0 - /dev/video3 choice…
Thanks in advance for your thoughts and comments!
Guerric