I have the MINISASTOCSI camera module working with the older factory build for the 8MMINILPD4-EVK:
LF_v6.1.22-2.0.0_images_IMX8MMEVK
Using the following command successfully streams video from the camera through to the HDMI monitor on the mini-SAS-to-HDMI output:
gst-launch-1.0 v4l2src ! video/x-raw,width=1920,height=1080 ! autovideosink
I flashed the later version of FW, in this example the latest:
LF_v6.12.34-2.1.0_images_IMX8MMEVK
G-Streamer does not work:
root@imx8mmevk:~# gst-launch-1.0 v4l2src ! video/x-raw,width=1920,height=1080 ! autovideosink
Setting pipeline to PAUSED ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video0' is not a capture device.
Additional debug info:
/usr/src/debug/gstreamer1.0-plugins-good/1.26.0.imx/sys/v4l2/v4l2_calls.c(644): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Capabilities: 0x4204000
ERROR: pipeline doesn't want to preroll.
Failed to set pipeline to PAUSED.
Setting pipeline to NULL ...
Freeing pipeline ...
root@imx8mmevk:~#
...So I used found the device with v4l2:
root@imx8mmevk:~# v4l2-ctl --list-devices
imx-capture (platform:32e20000.csi):
/dev/video2
/dev/media0
vsi_v4l2dec (platform:vsi_v4l2dec):
/dev/video1
vsi_v4l2enc (platform:vsi_v4l2enc):
/dev/video0
root@imx8mmevk:~#
...so then tried again with the device:
root@imx8mmevk:~# gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,width=1920,height=1080 ! autovideosink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
Additional debug info:
/usr/src/debug/gstreamer1.0-plugins-good/1.26.0.imx/sys/v4l2/gstv4l2src.c(957): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
Execution ended after 0:00:00.014162191
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Setting pipeline to NULL ...
Additional debug info:
/usr/src/debug/gstreamer1.0/1.26.0.imx/libs/gst/base/gstbasesrc.c(3187): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Freeing pipeline ...
root@imx8mmevk:~#
So now my question is what changed in the BSP after LF_v6.1.22... which now cannot get the buffer memory allocated?
Is the issue within v4l2 or in G-streamer or is it in the driver for MINISASTOCSI?
It would be really really nice to have updated documentation for MINISASTOCSI as well.
This is the list of supported (supposedly) formats:
root@imx8mmevk:~# v4l2-ctl --device=/dev/video2 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'UYVY' (UYVY 4:2:2)
Size: Continuous 4x1 - 65532x65535
[1]: 'YUYV' (YUYV 4:2:2)
Size: Continuous 4x1 - 65532x65535
[2]: 'BA81' (8-bit Bayer BGBG/GRGR)
Size: Continuous 8x1 - 65528x65535
[3]: 'GBRG' (8-bit Bayer GBGB/RGRG)
Size: Continuous 8x1 - 65528x65535
[4]: 'GRBG' (8-bit Bayer GRGR/BGBG)
Size: Continuous 8x1 - 65528x65535
[5]: 'RGGB' (8-bit Bayer RGRG/GBGB)
Size: Continuous 8x1 - 65528x65535
[6]: 'BG10' (10-bit Bayer BGBG/GRGR)
Size: Continuous 4x1 - 65532x65535
[7]: 'GB10' (10-bit Bayer GBGB/RGRG)
Size: Continuous 4x1 - 65532x65535
[8]: 'BA10' (10-bit Bayer GRGR/BGBG)
Size: Continuous 4x1 - 65532x65535
[9]: 'RG10' (10-bit Bayer RGRG/GBGB)
Size: Continuous 4x1 - 65532x65535
[10]: 'BG12' (12-bit Bayer BGBG/GRGR)
Size: Continuous 4x1 - 65532x65535
[11]: 'GB12' (12-bit Bayer GBGB/RGRG)
Size: Continuous 4x1 - 65532x65535
[12]: 'BA12' (12-bit Bayer GRGR/BGBG)
Size: Continuous 4x1 - 65532x65535
[13]: 'RG12' (12-bit Bayer RGRG/GBGB)
Size: Continuous 4x1 - 65532x65535
[14]: 'BG14' (14-bit Bayer BGBG/GRGR)
Size: Continuous 4x1 - 65532x65535
[15]: 'GB14' (14-bit Bayer GBGB/RGRG)
Size: Continuous 4x1 - 65532x65535
[16]: 'GR14' (14-bit Bayer GRGR/BGBG)
Size: Continuous 4x1 - 65532x65535
[17]: 'RG14' (14-bit Bayer RGRG/GBGB)
Size: Continuous 4x1 - 65532x65535
[18]: 'GREY' (8-bit Greyscale)
Size: Continuous 8x1 - 65528x65535
[19]: 'Y10 ' (10-bit Greyscale)
Size: Continuous 4x1 - 65532x65535
[20]: 'Y12 ' (12-bit Greyscale)
Size: Continuous 4x1 - 65532x65535
[21]: 'Y14 ' (14-bit Greyscale)
Size: Continuous 4x1 - 65532x65535
root@imx8mmevk:~#And trying the suggested command still fails with the same error message:
root@imx8mmevk:~# gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,format=UYVY,width=1920,height=1080 ! autovideosink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
Additional debug info:
/usr/src/debug/gstreamer1.0-plugins-good/1.26.0.imx/sys/v4l2/gstv4l2src.c(957): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.26.0.imx/libs/gst/base/gstbasesrc.c(3187): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.017086875
Setting pipeline to NULL ...
Freeing pipeline ...
root@imx8mmevk:~#Still seems to me that a bug was introduced into the build somewhere between 6.1.22 and 6.12.xx and given that g-streamer probably has not changed at all I would think the issue is with the NXP driver for the camera module or perhaps for the i.MX8MM hardware...
Helo @Jordanyte
I hope you are doing very well.
Could you please set the below command:
v4l2-ctl --device=/dev/video2 --list-formats-ext
This will show the supported formats by camera.
Also, try the below:
gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,format=UYVY,width=1920,height=1080 ! autovideosink
(Thinking the UYVY is the supported format).
Best regards,
Salas.
Hello @Jordanyte and @Manuel_Salas ,
I am running into the same issue with my IMX8MM and MINISASTOCSI. Getting the same errors in 6.12.34.
Were you able to find a solution to this problem? If so, do you mind sharing?
Thanks in advance,
Kasey