Problem in Raspberry Pi 3 with glimagesink

Pau Salvador Llàcer pasallla at epsg.upv.es
Wed Nov 30 11:54:00 UTC 2016


Hello,
My names is Pau Salvador (UPV), I am new in Gstreamer and I have  
installed Gstreamer on Raspberry Pi 3 Model B. In particular, I have  
installed the following packages from Git:

git://anongit.freedesktop.org/git/gstreamer/gstreamer
git://anongit.freedesktop.org/git/gstreamer/gst-plugins-base
git://anongit.freedesktop.org/git/gstreamer/gst-plugins-good
git://anongit.freedesktop.org/git/gstreamer/gst-plugins-bad
git://anongit.freedesktop.org/git/gstreamer/gst-plugins-ugly
git://anongit.freedesktop.org/git/gstreamer/gst-libav
git://anongit.freedesktop.org/git/gstreamer/gst-omx
git://anongit.freedesktop.org/git/gstreamer/gst-python
https://chromium.googlesource.com/webm/libvpx

The Gstreamer version is:
gst-inspect-1.0 version 1.11.0
GStreamer 1.4.4

The problem already appears when trying to play out an MP4 video. I  
have tried with different options, both using decodebin !  
autovideosink, and using h264parse ! omxh264dec ! glimagesink:

- Option 1: gst-launch-1.0 --gst-debug=*sink:6 filesrc  
location="/home/pi/Downloads/video1.mp4" ! decodebin ! videoconvert !  
autovideosink

The console output is:

Setting pipeline to PAUSED ...
0:00:00.157102601  3039   0xe98000 DEBUG            glimagesink  
gstglimagesink.c:530:gst_glimage_sink_change_state: changing state:  
NULL => READY
0:00:00.157421971  3039   0xe98000 LOG                 basesink  
gstbasesink.c:870:gst_base_sink_set_ts_offset:<autovideosink0-actual-sink-glimage> set time offset to 0:00:00.157956495  3039   0xe98000 DEBUG            glimagesink gstglimagesink.c:530:gst_glimage_sink_change_state: changing state: READY =>  
PAUSED
0:00:00.158515133  3039   0xe98000 DEBUG               basesink  
gstbasesink.c:4904:gst_base_sink_change_state:<autovideosink0-actual-sink-glimage> READY to  
PAUSED
0:00:00.158552059  3039   0xe98000 DEBUG               basesink  
gstbasesink.c:4925:gst_base_sink_change_state:<autovideosink0-actual-sink-glimage> doing async state  
change
0:00:00.158602527  3039   0xe98000 DEBUG               basesink  
gstbasesink.c:4074:gst_base_sink_pad_activate:<autovideosink0-actual-sink-glimage> Trying pull mode  
first
0:00:00.158630860  3039   0xe98000 DEBUG               basesink  
gstbasesink.c:4080:gst_base_sink_pad_activate:<autovideosink0-actual-sink-glimage> pull mode  
disabled
0:00:00.158656797  3039   0xe98000 DEBUG               basesink  
gstbasesink.c:4130:gst_base_sink_pad_activate:<autovideosink0-actual-sink-glimage> Falling back to push  
mode
0:00:00.158688516  3039   0xe98000 DEBUG               basesink  
gstbasesink.c:4132:gst_base_sink_pad_activate:<autovideosink0-actual-sink-glimage> Success activating push  
mode
Pipeline is PREROLLING ...
Got context from element 'autovideosink0-actual-sink-glimage':  
gst.gl.GLDisplay=context,  
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";
0:00:00.260258680  3039 0x71102490 DEBUG               basesink  
gstbasesink.c:3162:gst_base_sink_event:<autovideosink0-actual-sink-glimage>  
received event 0x72529880 stream-start event: 0x72529880, time  
99:99:99.999999999, seq-num 80, GstEventStreamStart,  
stream-id=(string)b9abe27ed02db470166ab00e94eccfefce0bca8fd238c1a59c36b90c2a842857/002, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE,  
group-id=(uint)1;
0:00:00.260434302  3039 0x71102490 DEBUG               basesink  
gstbasesink.c:3057:gst_base_sink_default_event:<autovideosink0-actual-sink-glimage> Now posting STREAM_START  
(seqnum:80)
0:00:00.264346278  3039 0x71102490 DEBUG               basesink  
gstbasesink.c:4836:gst_base_sink_default_query:<autovideosink0-actual-sink-glimage> Checking if requested caps video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)2997/125, format=(string)RGBA, colorimetry=(string)1:1:0:0 are a subset of pad caps video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB, RGBx, RGBA, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] result  
1
0:00:00.264792886  3039 0x71102490 DEBUG               basesink  
gstbasesink.c:4836:gst_base_sink_default_query:<autovideosink0-actual-sink-glimage> Checking if requested caps video/x-raw, format=(string)RGBA, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)1:1:0:0, framerate=(fraction)2997/125 are a subset of pad caps video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB, RGBx, RGBA, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] result  
1
0:00:00.265072309  3039 0x71102490 DEBUG               basesink  
gstbasesink.c:4836:gst_base_sink_default_query:<autovideosink0-actual-sink-glimage> Checking if requested caps video/x-raw, format=(string)RGBA, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)1:1:0:0, framerate=(fraction)2997/125 are a subset of pad caps video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB, RGBx, RGBA, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] result  
1
0:00:00.265275796  3039 0x71102490 DEBUG               basesink  
gstbasesink.c:3162:gst_base_sink_event:<autovideosink0-actual-sink-glimage>  
received event 0x71107938 caps event: 0x71107938, time  
99:99:99.999999999, seq-num 200, GstEventCaps,  
caps=(GstCaps)"video/x-raw\,\ format\=\(string\)RGBA\,\  
width\=\(int\)1920\,\ height\=\(int\)1080\,\  
pixel-aspect-ratio\=\(fraction\)1/1\,\  
interlace-mode\=\(string\)progressive\,\  
colorimetry\=\(string\)1:1:0:0\,\ framerate\=\(fraction\)2997/125";
0:00:00.265376576  3039 0x71102490 DEBUG               basesink  
gstbasesink.c:3074:gst_base_sink_default_event:<autovideosink0-actual-sink-glimage> caps  
0x71107938
0:00:00.265406315  3039 0x71102490 DEBUG            glimagesink  
gstglimagesink.c:653:gst_glimage_sink_set_caps: set caps with  
video/x-raw, format=(string)RGBA, width=(int)1920, height=(int)1080,  
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,  
colorimetry=(string)1:1:0:0, framerate=(fraction)2997/125
0:00:00.265501990  3039 0x71102490 DEBUG            glimagesink  
gstglimagesink.c:690:gst_glimage_sink_set_caps: keeping video height
0:00:00.265527563  3039 0x71102490 DEBUG            glimagesink  
gstglimagesink.c:708:gst_glimage_sink_set_caps: scaling to 1920x1080
0:00:00.266547288  3039   0xeab180 DEBUG              videosink  
gstvideosink.c:117:gst_video_sink_center_rect: source is 16x16 dest is  
1360x768, result is 16x16 with x,y 672x376
0:00:00.288051356  3039 0x71102490 DEBUG            glimagesink  
gstglimagesink.c:906:gst_glimage_sink_propose_allocation:<autovideosink0-actual-sink-glimage> check existing pool  
caps
Caught SIGSEGV
#0  0x76badb80 in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x76cc2528 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0


- Option 2: gst-launch-1.0 --gst-debug=*sink:6 filesrc  
location="/home/pi/Downloads/video1.mp4" ! qtdemux ! h264parse !  
omxh264dec ! glimagesink

The console output is:

Setting pipeline to PAUSED ...
0:00:00.091504942  3013  0x1d2e660 DEBUG            glimagesink  
gstglimagesink.c:530:gst_glimage_sink_change_state: changing state:  
NULL => READY
0:00:00.096242333  3013  0x1d2e660 DEBUG            glimagesink  
gstglimagesink.c:530:gst_glimage_sink_change_state: changing state:  
READY => PAUSED
0:00:00.096897326  3013  0x1d2e660 DEBUG               basesink  
gstbasesink.c:4904:gst_base_sink_change_state:<glimagesink0> READY to  
PAUSED
0:00:00.096965293  3013  0x1d2e660 DEBUG               basesink  
gstbasesink.c:4925:gst_base_sink_change_state:<glimagesink0> doing  
async state change
0:00:00.097044407  3013  0x1d2e660 DEBUG               basesink  
gstbasesink.c:4074:gst_base_sink_pad_activate:<glimagesink0> Trying  
pull mode first
0:00:00.097073678  3013  0x1d2e660 DEBUG               basesink  
gstbasesink.c:4080:gst_base_sink_pad_activate:<glimagesink0> pull mode  
disabled
0:00:00.097100344  3013  0x1d2e660 DEBUG               basesink  
gstbasesink.c:4130:gst_base_sink_pad_activate:<glimagesink0> Falling  
back to push mode
0:00:00.097131437  3013  0x1d2e660 DEBUG               basesink  
gstbasesink.c:4132:gst_base_sink_pad_activate:<glimagesink0> Success  
activating push mode
Pipeline is PREROLLING ...
Got context from element 'glimagesink0': gst.gl.GLDisplay=context,  
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";
0:00:00.106446325  3013  0x1d3e490 DEBUG               basesink  
gstbasesink.c:3162:gst_base_sink_event:<glimagesink0> received event  
0x1c07340 stream-start event: 0x1c07340, time 99:99:99.999999999,  
seq-num 28, GstEventStreamStart,  
stream-id=(string)b9abe27ed02db470166ab00e94eccfefce0bca8fd238c1a59c36b90c2a842857/002, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE,  
group-id=(uint)0;
0:00:00.106623302  3013  0x1d3e490 DEBUG               basesink  
gstbasesink.c:3057:gst_base_sink_default_event:<glimagesink0> Now  
posting STREAM_START (seqnum:28)
0:00:00.135895243  3013 0x72704c00 DEBUG               basesink  
gstbasesink.c:4836:gst_base_sink_default_query:<glimagesink0> Checking  
if requested caps video/x-raw, format=(string)RGBA, width=(int)1920,  
height=(int)1080, pixel-aspect-ratio=(fraction)1/1,  
interlace-mode=(string)progressive, colorimetry=(string)1:1:0:0,  
framerate=(fraction)2997/125 are a subset of pad caps  
video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1,  
2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[  
0/1, 2147483647/1 ]; video/x-raw(memory:EGLImage),  
format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1,  
2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ];  
video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA,  
width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ],  
framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw,  
format=(string){ RGB, RGBx, RGBA, BGR, BGRx, BGRA, xRGB, xBGR, ARGB,  
ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV,  
GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ],  
height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1  
] result 1
0:00:00.136230759  3013 0x72704c00 DEBUG               basesink  
gstbasesink.c:3162:gst_base_sink_event:<glimagesink0> received event  
0x7272a198 caps event: 0x7272a198, time 99:99:99.999999999, seq-num  
46, GstEventCaps, caps=(GstCaps)"video/x-raw\,\  
format\=\(string\)RGBA\,\ width\=\(int\)1920\,\ height\=\(int\)1080\,\  
pixel-aspect-ratio\=\(fraction\)1/1\,\  
interlace-mode\=\(string\)progressive\,\  
colorimetry\=\(string\)1:1:0:0\,\ framerate\=\(fraction\)2997/125";
0:00:00.136339716  3013 0x72704c00 DEBUG               basesink  
gstbasesink.c:3074:gst_base_sink_default_event:<glimagesink0> caps  
0x7272a198
0:00:00.136370862  3013 0x72704c00 DEBUG            glimagesink  
gstglimagesink.c:653:gst_glimage_sink_set_caps: set caps with  
video/x-raw, format=(string)RGBA, width=(int)1920, height=(int)1080,  
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,  
colorimetry=(string)1:1:0:0, framerate=(fraction)2997/125
0:00:00.136474142  3013 0x72704c00 DEBUG            glimagesink  
gstglimagesink.c:690:gst_glimage_sink_set_caps: keeping video height
0:00:00.136501121  3013 0x72704c00 DEBUG            glimagesink  
gstglimagesink.c:708:gst_glimage_sink_set_caps: scaling to 1920x1080
0:00:00.137458661  3013 0x71202720 DEBUG              videosink  
gstvideosink.c:117:gst_video_sink_center_rect: source is 16x16 dest is  
1360x768, result is 16x16 with x,y 672x376
0:00:00.160942650  3013 0x72704c00 DEBUG            glimagesink  
gstglimagesink.c:906:gst_glimage_sink_propose_allocation:<glimagesink0> check  
existing pool caps
Caught SIGSEGV
#0  0x76ba8b80 in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x76cbd528 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0

The same video file is playing file in omxplayer.

Could you please help me in identifying the error?

Thanks.

Pau


Pau Salvador Llàcer
pasallla at epsg.upv.es
Grau en Enginyeria de Sistemes de Telecomunicació, So i Imatge (GITSI)
Escola Politècnica Superior de Gandia (EPSG)
Universitat Politècnica de València (UPV)


Pau Salvador Llàcer
pasallla at epsg.upv.es
Grau en Enginyeria de Sistemes de Telecomunicació, So i Imatge (GITSI)
Escola Politècnica Superior de Gandia (EPSG)
Universitat Politècnica de València (UPV)


More information about the gstreamer-devel mailing list