Skip to content

gstreamer examples #19

@platux

Description

@platux

Hi,

I successfully configured the module for a 280x240 SPI display.
kmscube displays correctly the cube using EGL (no X Windows / Waylands), got 74fps.
I've been attempting to use gstreamer and display whatever thing on the display, without success.

could you provide working examples of gstreamer working panel-mipi-dbi with optimized interfaces like KMS/DRM and/or OpenGL.

I have been testing:

kmssink --> 0:00:00.623264089 1892 0x55b57ddc60 ERROR kmsallocator gstkmsallocator.c:448:gst_kms_allocator_add_fb:KMSMemory::allocator Failed to bind to framebuffer: Invalid argument (22)

$ GST_DEBUG=2 gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,width=720,height=576,framerate=50/1 ! capssetter replace=true caps="image/jpeg,width=720,height=576" ! jpegparse ! queue ! v4l2jpegdec output-io-mode=dmabuf capture-io-mode=dmabuf discard-corrupted-frames=true ! v4l2convert ! video/x-raw,width=280,height=210 ! kmssink driver-name="panel-mipi-dbi"
0:00:00.401957264  1892   0x55b57f0400 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
Setting pipeline to PAUSED ...

(gst-launch-1.0:1892): GStreamer-CRITICAL **: 12:49:45.948: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed

(gst-launch-1.0:1892): GStreamer-CRITICAL **: 12:49:45.949: range start is not smaller than end for `GstIntRange'

(gst-launch-1.0:1892): GStreamer-CRITICAL **: 12:49:45.949: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed

(gst-launch-1.0:1892): GStreamer-CRITICAL **: 12:49:45.949: range start is not smaller than end for `GstIntRange'
0:00:00.415762257  1892   0x55b57f0400 WARN                    v4l2 gstv4l2object.c:4675:gst_v4l2_object_probe_caps:<v4l2convert0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.428094491  1892   0x55b57d7a40 WARN                    v4l2 gstv4l2object.c:4410:gst_v4l2_object_set_crop:<v4l2src0:src> VIDIOC_S_CROP failed
0:00:00.430606001  1892   0x55b57d7a40 WARN                    v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2src0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:00.436135685  1892   0x55b57d7a40 WARN          v4l2bufferpool gstv4l2bufferpool.c:848:gst_v4l2_buffer_pool_start:<v4l2src0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
0:00:00.524302572  1892   0x55b57d8000 WARN                    v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2jpegdec0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:00.528726841  1892   0x55b57d8000 WARN                    v4l2 gstv4l2object.c:2255:gst_v4l2_object_get_streamparm:<v4l2jpegdec0:src> VIDIOC_G_PARM failed
0:00:00.535846473  1892   0x55b57d8000 WARN                    v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2convert0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:00.536997097  1892   0x55b57d8000 WARN                    v4l2 gstv4l2object.c:4404:gst_v4l2_object_set_crop:<v4l2convert0:src> Failed to set crop rectangle with VIDIOC_S_SELECTION: Invalid argument
0:00:00.537448920  1892   0x55b57d8000 WARN           basetransform gstbasetransform.c:1379:gst_base_transform_setcaps:<v4l2convert0> FAILED to configure incaps video/x-raw, format=(string)NV12, width=(int)720, height=(int)576, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt601, framerate=(fraction)0/1 and outcaps video/x-raw, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)0/1, format=(string)BGRx, width=(int)280, height=(int)210, pixel-aspect-ratio=(fraction)15/16
0:00:00.539373503  1892   0x55b57d7a40 WARN                 v4l2src gstv4l2src.c:1351:gst_v4l2src_create:<v4l2src0> lost frames detected: count = 3 - ts: 0:00:00.092534684
0:00:00.552157299  1892   0x55b57d8000 WARN            v4l2videodec gstv4l2videodec.c:1046:gst_v4l2_video_dec_decide_allocation:<v4l2jpegdec0> Duration invalid, not setting latency
0:00:00.623264089  1892   0x55b57ddc60 ERROR           kmsallocator gstkmsallocator.c:448:gst_kms_allocator_add_fb:<KMSMemory::allocator> Failed to bind to framebuffer: Invalid argument (22)
**0:00:00.626427577  1892   0x55b57ddc60 ERROR           kmsallocator gstkmsallocator.c:448:gst_kms_allocator_add_fb:<KMSMemory::allocator> Failed to bind to framebuffer: Invalid argument (22)**
0:00:00.626947733  1892   0x55b57ddc60 WARN           kmsbufferpool gstkmsbufferpool.c:176:gst_kms_buffer_pool_alloc_buffer:<kmsbufferpool1> can't create memory
0:00:00.627009660  1892   0x55b57ddc60 WARN              bufferpool gstbufferpool.c:318:do_alloc_buffer:<kmsbufferpool1> alloc function failed
0:00:00.627052577  1892   0x55b57ddc60 WARN              bufferpool gstbufferpool.c:351:default_start:<kmsbufferpool1> failed to allocate buffer
0:00:00.627090129  1892   0x55b57ddc60 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<kmsbufferpool1> start failed
0:00:00.627149921  1892   0x55b57ddc60 WARN                 kmssink gstkmssink.c:1782:ensure_internal_pool:<kmssink0> error: failed to activate buffer pool
0:00:00.627214973  1892   0x55b57ddc60 WARN                 kmssink gstkmssink.c:1782:ensure_internal_pool:<kmssink0> error: failed to activate buffer pool
ERROR: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: failed to activate buffer pool
Additional debug info:
../sys/kms/gstkmssink.c(1782): ensure_internal_pool (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
failed to activate buffer pool
Execution ended after 0:00:00.202390740
Setting pipeline to NULL ...
Freeing pipeline ...**

glimagesink --> 0:00:05.210371817 3378 0x558a3958c0 ERROR gleglgbm gstgl_gbm_utils.c:424:gst_gl_gbm_drm_fb_get_from_bo: Failed to add GBM BO as scanout framebuffer: Invalid argument (22)
Caught SIGSEGV

$ GST_DEBUG=2 gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,width=720,height=576,framerate=50/1 ! capssetter replace=true caps="image/jpeg,width=720,height=576" ! jpegparse ! queue ! v4l2jpegdec output-io-mode=dmabuf capture-io-mode=dmabuf discard-corrupted-frames=true ! v4l2convert ! video/x-raw,width=280,height=210 ! glimagesink
Setting pipeline to PAUSED ...
0:00:04.319214452  3378   0x558a49bcd0 WARN                    v4l2 gstv4l2object.c:4675:gst_v4l2_object_probe_caps:<v4l2convert0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
Pipeline is live and does not need PREROLL ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayGBM\)\ gldisplaygbm0";
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:04.497330967  3378   0x558a395b60 WARN                    v4l2 gstv4l2object.c:4410:gst_v4l2_object_set_crop:<v4l2src0:src> VIDIOC_S_CROP failed
0:00:04.500097424  3378   0x558a395b60 WARN                    v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2src0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:04.506012629  3378   0x558a395b60 WARN          v4l2bufferpool gstv4l2bufferpool.c:848:gst_v4l2_buffer_pool_start:<v4l2src0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
0:00:04.597809608  3378   0x558a390240 WARN                    v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2jpegdec0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:04.603611636  3378   0x558a390240 WARN                    v4l2 gstv4l2object.c:2255:gst_v4l2_object_get_streamparm:<v4l2jpegdec0:src> VIDIOC_G_PARM failed
0:00:04.612660277  3378   0x558a395b60 WARN                 v4l2src gstv4l2src.c:1351:gst_v4l2src_create:<v4l2src0> lost frames detected: count = 2 - ts: 0:00:00.099474132
0:00:04.620198763  3378   0x558a390240 WARN                    v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2convert0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:04.621483033  3378   0x558a390240 WARN                    v4l2 gstv4l2object.c:3951:gst_v4l2_object_set_format_full:<v4l2convert0:src> Failed to set alpha component value
0:00:04.622412147  3378   0x558a390240 WARN                    v4l2 gstv4l2object.c:4404:gst_v4l2_object_set_crop:<v4l2convert0:src> Failed to set crop rectangle with VIDIOC_S_SELECTION: Invalid argument
0:00:04.622902146  3378   0x558a390240 WARN           basetransform gstbasetransform.c:1379:gst_base_transform_setcaps:<v4l2convert0> FAILED to configure incaps video/x-raw, format=(string)NV12, width=(int)720, height=(int)576, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt601, framerate=(fraction)0/1 and outcaps video/x-raw, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)0/1, format=(string)RGBA, width=(int)280, height=(int)210, pixel-aspect-ratio=(fraction)15/16
0:00:04.660257438  3378   0x558a390240 WARN            v4l2videodec gstv4l2videodec.c:1046:gst_v4l2_video_dec_decide_allocation:<v4l2jpegdec0> Duration invalid, not setting latency
**0:00:05.210371817  3378   0x558a3958c0 ERROR               gleglgbm gstgl_gbm_utils.c:424:gst_gl_gbm_drm_fb_get_from_bo: Failed to add GBM BO as scanout framebuffer: Invalid argument (22)
Caught SIGSEGV**
0:00:05.812070802  3378   0x558a395b60 WARN                 v4l2src gstv4l2src.c:1351:gst_v4l2src_create:<v4l2src0> lost frames detected: count = 19 - ts: 0:00:01.295640133
0:00:08.807480524  3378   0x558a395b60 WARN                 v4l2src gstv4l2src.c:1351:gst_v4l2src_create:<v4l2src0> lost frames detected: count = 24 - ts: 0:00:01.885255591

fbdevsink --> works but sluggish performance

many thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions