From: Tristan M. <tr...@sa...> - 2010-05-12 18:29:11
|
2010/5/12 Olivier Aubert <oli...@li...> > Hi Stefan > > Thanks for the answer, but this is not the root of the cause since I > also tried this approach and the behaviour is identical. And anyway, > directly using set_xwindow_id is mentioned in the XOverlay doc (this > specific information was added on january 2010 by Tim, so I assume that > it is correct): > Thanks for bringing this up Olivier. I have the same issue in my program, although interestingly glimagesink does _not_ suffer from this behavior. > > >From gst-libs/gst/interfaces/xoverlay.c : > * There are two basic usage scenarios: in the simplest case, the > application > * knows exactly what particular element is used for video output, which is > * usually the case when the application creates the videosink to use > * (e.g. #xvimagesink, #ximagesink, etc.) itself; in this case, the > application > * can just create the videosink element, create and realize the window to > * render the video on and then call gst_x_overlay_set_xwindow_id() > directly > * with the XID or native window handle, before starting up the pipeline. > * > * In the other and more common case, the application does not know in > advance > * what GStreamer video sink element will be used for video output. > * [...use prepare-xwindow-id...] > > I am in the first case (instanciating exactly the sink I need), and > calling set_xwindow_id after my embedding widget is realized. > > Olivier > > On Wed, 2010-05-12 at 18:49 +0300, Stefan Kost wrote: > > Olivier Aubert wrote: > > > Hello > > > > > > In my python/gtk/gstreamer based application (www.advene.org), I embed > a > > > xvimagesink (on linux with gtk 2.20)/ximagesink (on macos x with gtk > > > 2.18) in a gtk.Socket, calling set_xwindow_id after the gtk.Socket is > > > realized. > > > > > You should call set_xwindow_id() in reply to the "prepare-xwindow-id" > > element message on the gstreamer bus. Anything else is sheer luck :) The > > GstXOverlay docs have examples. > > > > Stefan > > > It worked alright with gst-plugins-good 0.10.21. However, since the > > > upgrade to 0.10.22, the behaviour changed: the image is not displayed > > > until the window has received an expose event (basically, I hide and > > > show the window). > > > > > > I had a quick look at the git logs, but did not find anything that > > > seemed relevant. Has there been a change in the xoverlay API that I > > > should be aware of ? And if not, are there any hints to help me debug > > > this issue? > > > > > > Thanks > > > Olivier > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gst...@li... > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > gstreamer-devel mailing list > gst...@li... > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Tristan Matthews email: tr...@sa... web: http://tristanswork.blogspot.com |