"reason not-negotiated" with eglglessink (gst-plugins-bad 1.2.3/09 Feb 2014)

Michael Tyson michael at tyson.id.au
Sun Feb 23 16:16:03 PST 2014

Thanks much for the reply, Sebastian (and for all your great work with GST!)

>> TX: raspivid -n -w 1280 -h 720 -b 1000000 -fps 30 -vf -hf -t 0 -pf high -o - | gst-launch-1.0 -v fdsrc !  h264parse ! rtph264pay ! udpsink host= port=9000
> Please consider using this camera source element instead. Piping the
> raspivid stdout to fdsrc is never going to work reliably.
> https://github.com/thaytan/gst-rpicamsrc

Ah, yeah - I was only using raspivid because the 0.10 version from vontaene.de didn’t seem to be able to run the below v4l2-based pipeline without errors. The end product’s gonna launch something like the below pipeline from a Python app.

>> gst-launch-1.0 v4l2src ! 'video/x-raw, width=1280, height=720, framerate=30/1' ! queue ! videoconvert ! omxh264enc target-bitrate=1048576 control-rate=1 ! rtph264pay !  udpsink host= port=9000

> Also omxh264dec does not have a caps property.

Ah – whoops, I pasted the wrong command line. That was one of the many variants I was trying in a fit of undirected desperation. This is what I’m using:

gst-launch-1.0 -v udpsrc port=9000 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! queue max-size-time=100 ! eglglessink sync=false

> Can you get a debug log with GST_DEBUG=6 for this?

Ah-ha! For whatever reason, I didn’t know about GST_DEBUG, that’s incredibly useful. Here’s the culprit:

         eglglessink gsteglglessink.c:2113:gst_eglglessink_configure_caps:<eglglessink0> No window. Will attempt internal window creation
         eglglessink gsteglglessink.c:778:gst_eglglessink_create_window:<eglglessink0> Attempting internal window creation
eglglessink-platform video_platform_wrapper.c:107:platform_create_native_window: Can't open X11 display
         egladaption gstegladaptation_egl.c:870:gst_egl_adaptation_create_native_window:<eglglessink0> Using window handle (nil)
         eglglessink gsteglglessink.c:784:gst_eglglessink_create_window:<eglglessink0> Could not create window
         eglglessink gsteglglessink.c:2115:gst_eglglessink_configure_caps:<eglglessink0> Internal window creation failed!
         eglglessink gsteglglessink.c:2144:gst_eglglessink_configure_caps:<eglglessink0> Configuring caps failed

Looks like the configure process went awry and defined USE_EGL_X11 instead of USE_EGL_RPI, so it was trying to create an X11 window instead of a Dispmanx window. 

It would appear I need to adjust the debian source build to add the "--with-egl-window-system=rpi” configure parameter. I can do that.

Thanks for pointing me in the right direction!

Cheers, till next time,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140224/21184255/attachment.pgp>

More information about the gstreamer-devel mailing list