[gstreamer-bugs] [Bug 321816] New: [API] xoverlay API to post prepare-xwindow-id message

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Fri Nov 18 09:59:03 PST 2005


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=321816
 GStreamer | gst-plugins-base | Ver: HEAD CVS

           Summary: [API] xoverlay API to post prepare-xwindow-id message
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: t.i.m at zen.co.uk
         QAContact: gstreamer-bugs at lists.sourceforge.net
                CC: all-bugs at bugzilla.gnome.org


I'd like to add an gst_x_overlay_prepare_xwindow_id() function to xoverlay that
post an element message called 'prepare-xwindow-id' on the bus. That function
should be called by elements implementing the GstXOverlay interface just before
they start creating their own X Window. This message can be intercepted by the
application via a synchroneous bus message handler and gives the application the
chance to set the xwindow ID "just in time".

A signal would do as well, but a bus message is more convenient because that way
the application doesn't need to find out the instance implementing the interface
before connecting to it.

So xoverlay elements would basically do:

  if (foo->our_window == NULL)
    gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (foo));

  if (foo->our_window == NULL)
    ... create own xwindow ...
  else
    ... use set xwindow id ...


The reason this is necessary is that when an application is using gconfvideosink
or autovideosink it has no control over the state of these sink bins once they
are passed to playbin. They might be set to state NULL and back to READY/PLAYING
at any time, creating a new videosink instances, which in turn requires the
application again to set the xwindow ID. It can only do that reliable if it's
informed when it needs to do that, and this seems to be the best way to me.

Of course this can be hacked around in the sink bins somehow or in playbin, but
it still seems desirable to have this message or signal.

Cheers
 -Tim

------- You are receiving this mail because: -------
You are the assignee for the bug.
You are the QA contact for the bug.




More information about the Gstreamer-bugs mailing list