[gst-devel] X Errors when overlaying xvimagesink on GTK+ windows/widgets

Nick Daniels somebodys.home.is at gmail.com
Thu Dec 3 21:16:47 CET 2009


> Hi, I could be wrong but it really seems the usual xoverlay+client
> side windows bug.
> Please take a look at
> https://bugzilla.gnome.org/show_bug.cgi?id=599885, there is an
> exhaustive explanation of the reason it happens and how to properly
> solve it.
>
> Hope this helps,
> Filippo

Thanks for putting me onto this Filippo, this is what my first problem must
be...

> I've since changed how we use xoverlay in our application
> (http://svn.sat.qc.ca/trac/miville). Instead of handling the
> expose-event, I listen on the pipeline's bus for the
> "prepare-xwindow-id" message and then call
> gst_x_overlay_set_xwindow_id on the window. Additionally, I added a
> callback for the window's destroy-event which quits the GMainLoop.
> I'll try and do a new post soon with these details, but I'd appreciate
> any feedback from the gst community on my approach.

> The updated example lives at:
>
http://svn.sat.qc.ca/miville/inhouse/prototypes/gstreamer/cpp/fullscreen/test.c

> Best,
> Tristan

Thanks Tristan, you're blog was absolutely invaluable for me getting my head
around the X Overlays on GTK+. I'm a newbie to GTK, Gstreamer, Glib etc. (&
C for anything more than simple engineering maths coursework) so I needed
something like that to quickly introduce me!

It seems the exit error I was getting was because I was using the "gtk_main"
loop function instead of the "g_main_loop_run" function. I had set a destroy
event but I guess exiting the gtk_main loop does not cleanup the overlays
etc. I will also try and switch to "the prepare-xwindow-id" method as that's
what was suggested in the xoverlay documentation.

Thank you both for the quick help! Maybe now I can get on and actually make
something useful!

Cheers,
Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20091203/f97adecd/attachment.htm>


More information about the gstreamer-devel mailing list