[gst-devel] XOverlay behaviour change ?

Stefan Kost ensonic at hora-obscura.de
Thu May 13 23:34:49 CEST 2010


Am 12.05.2010 19:18, schrieb Olivier Aubert:
> 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):
> 
>>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.

Having a small example would indeed be good. I am not sure about the gtkplug
usage (I never used that myself), is the widget on the other side of it realized
too. Maybe you could just open a bug for the issue, add your example, and/or
debug logs with and with out the extra expose() call. Also please tell which
properties on xvimagesink you have changed from the defaults.

Stefan

> 
> 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
>>> gstreamer-devel at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>>   
> 
> 
> 
> ------------------------------------------------------------------------------
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel





More information about the gstreamer-devel mailing list