Problem in Raspberry Pi 3 with glimagesink

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem in Raspberry Pi 3 with glimagesink

Pau Salvador Llàcer

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
[hidden email]
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
[hidden email]
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)
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problem in Raspberry Pi 3 with glimagesink

Nicolas Dufresne-5
Le mercredi 30 novembre 2016 à 12:54 +0100, Pau Salvador Llàcer a
écrit :
> The Gstreamer version is:
> gst-inspect-1.0 version 1.11.0
> GStreamer 1.4.4

If gst-inspect-1.0 reports 1.11.0, why do you report 1.4.4 ?

Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problem in Raspberry Pi 3 with glimagesink

Pau Salvador Llàcer

Nicolas Dufresne <[hidden email]> escribió:

> Le mercredi 30 novembre 2016 à 12:54 +0100, Pau Salvador Llàcer a
> écrit :
>> The Gstreamer version is:
>> gst-inspect-1.0 version 1.11.0
>> GStreamer 1.4.4
>
> If gst-inspect-1.0 reports 1.11.0, why do you report 1.4.4 ?
>
> Nicolas

Hi Nicolas,

Thank you for the answer!

This is the console output when I run:

gst-inspect-1.0 --version

I have also just installed Gstreamer 1.10.2 (latest version in  
http://gstreamer.freedesktop.org/src/) and the console output is:

gst-inspect-1.0 version 1.10.2
Gstreamer 1.4.4
Unknown package

The error in the pipeline is also the same in such a case.

Pau.


Pau Salvador Llàcer
[hidden email]
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)

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

scrot.png (8K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problem in Raspberry Pi 3 with glimagesink

Tim Müller
On Thu, 2016-12-01 at 12:26 +0100, Pau Salvador Llàcer wrote:

Hi Pau,

> This is the console output when I run:
>
> gst-inspect-1.0 --version
>
> I have also just installed Gstreamer 1.10.2 (latest version in  
> http://gstreamer.freedesktop.org/src/) and the console output is:
>
> gst-inspect-1.0 version 1.10.2
> Gstreamer 1.4.4

This indicates that something isn't right with your installation.
You're running gst-inspect 1.10, but it's picking up an old GStreamer
library version.

Maybe you forgot to run "sudo ldconfig" after doing "make install" or
maybe you need to add the prefix where you installed it into to your
/etc/ld.so* or maybe you need to set LD_LIBRARY_PATH so the newly-
installed libs can be found from the prefix where you installed them.

What's the output of:

 $ which gst-inspect-1.0

and

 $ ldd `which gst-inspect-1.0` | grep libgstreamer

?

Cheers
 -Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problem in Raspberry Pi 3 with glimagesink

Pau Salvador Llàcer

Tim Müller <[hidden email]> escribió:

> On Thu, 2016-12-01 at 12:26 +0100, Pau Salvador Llàcer wrote:
>
> Hi Pau,
>
>> This is the console output when I run:
>>
>> gst-inspect-1.0 --version
>>
>> I have also just installed Gstreamer 1.10.2 (latest version in  
>> http://gstreamer.freedesktop.org/src/) and the console output is:
>>
>> gst-inspect-1.0 version 1.10.2
>> Gstreamer 1.4.4
>
> This indicates that something isn't right with your installation.
> You're running gst-inspect 1.10, but it's picking up an old GStreamer
> library version.
>
> Maybe you forgot to run "sudo ldconfig" after doing "make install" or
> maybe you need to add the prefix where you installed it into to your
> /etc/ld.so* or maybe you need to set LD_LIBRARY_PATH so the newly-
> installed libs can be found from the prefix where you installed them.
>
> What's the output of:
>
>  $ which gst-inspect-1.0
>
> and
>
>  $ ldd `which gst-inspect-1.0` | grep libgstreamer
>
> ?
>
> Cheers
>  -Tim
>
> --
> Tim Müller, Centricular Ltd - http://www.centricular.com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


Hi,

Thank you very much!

I have just solved the problem. Raspbian had installed Gstreamer 1.4.4  
(by default). I removed it and GStreamer 1.10.2 works well!

Pau









Pau Salvador Llàcer
[hidden email]
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)
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel