cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP257F-DK GStreamer problem

Ronte.1
Associate II

Hello,

I'm using Buildroot environment with the STM32MP257F-DK board. I'm testing GStreamer with a simple pipeline:

gst-launch-1.0 videotestsrc ! autovideosink

When I first run it there is no problem. The test video shows fine on the HDMI monitor. But when I run it again second time there are errors : pipeline doesn't want to preroll. And all attempts after that fail too. It works only one time after the boot.

There is additional debug info: drmModeSetPlane failed: No space left on device (28).

Maybe some setting is missing ?

BR

raimo

1 ACCEPTED SOLUTION

Accepted Solutions

Hi Raimo,

if you are fine with your last gstreamer parameters, please close the ticket.

Have a good day.

Philippe.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

6 REPLIES 6
PPAGE.13
ST Employee

Hi,

 

in OSTL Yocto based environment, there is no issue running several times your gstreamer command.

 

In you Builtroot env, you can try to check CMA  memory with this command into a shell script:

"while true ; do grep CmaFree /proc/meminfo ; sleep 3 ; done"

 

And also try a bigger and HW accelerated mp4 video with the similar command to that:

su -l weston -c "gst-launch-1.0 filesrc location=/usr/local/demo/medical/videos/air_1024.mp4 ! qtdemux ! h264parse ! queue ! v4l2slh264dec ! autovideosink"

 

(replace mp4 file with yours)

 

Note: to check HW VPU is activated, check interrrupts number:

"cat /proc/interrupts | grep vdec"

 

BR,

Philippe.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Ronte.1
Associate II

Hi,

I did the CMA check, first it shows CmaFree 129400kB

After a succesful gstreamer launch there was 120976 kB, and after next failing tries there's 128800 kB and it doesnt change after this.  

BR Raimo

 

 

Hi,

 

could you please add "-v" option in you gstreamer command to get more info.

 

Philippe.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Ronte.1
Associate II

Hi,

Here's the log file when launch fails:

 

# gst-launch-1.0 videotestsrc ! autovideosink -v
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstKMSSink:autovideosink0-actual-sink-kms: display-width = 1920
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstKMSSink:autovideosink0-actual-sink-kms: display-height = 1080
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)BGRA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw, format=(string)BGRA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstKMSSink:autovideosink0-actual-sink-kms.GstPad:sink: caps = video/x-raw, format=(string)BGRA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)BGRA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
ERROR: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstKMSSink:autovideosink0-actual-sink-kms: GStreamer encountered a general resource error.
Additional debug info:
../sys/kms/gstkmssink.c(2032): gst_kms_sink_show_frame (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstKMSSink:autovideosink0-actual-sink-kms:
drmModeSetPlane failed: No space left on device (28)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...
#

 

BR Raimo

Ronte.1
Associate II

Hi,

I found a sort of cure for this.

If I add some parameters to the sink then the launch will work all times.

gst-launch-1.0 videotestsrc ! kmssink driver-name=stm connector-id=32 force-modesetting=true.

In my setup the kmssink was the one the autovideosink is choosing.

BR Raimo

 

Hi Raimo,

if you are fine with your last gstreamer parameters, please close the ticket.

Have a good day.

Philippe.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.