[Bug 670795] New: xwindow run outside for a few tenth of a second

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Feb 25 08:39:06 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=670795
  GStreamer | gst-python | 0.10.x

           Summary: xwindow run outside for a few tenth of a second
    Classification: Platform
           Product: GStreamer
           Version: 0.10.x
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-python
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: xmickyz at live.it
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


I get for few tenth of a second the xwindow outside my desidered gtk drawing
area, before it is embedded, when this area is hidden by another widget.

This is the Python code of my application:
<<<
        self.player = gst.element_factory_make('playbin2', 'player')
        bus = self.player.get_bus()
        bus.add_signal_watch()
        bus.connect('message', self.newBusMessage)

        videobin = gst.Bin('videobin')
        videosink = gst.element_factory_make('xvimagesink', 'videosink')
        videosink.set_property('force-aspect-ratio', True)
        videosink.set_property('handle-expose', True)
        videosink.set_property('sync', True)
        videobin.add(videosink)

        self.player.set_property('video-sink', videobin)
...
    def newBusMessage(self, bus, msg):
        """ New bus message """
        if msg.type == gst.MESSAGE_EOS:
            self.trackEnded(False)
            log.c.debug(msg)
        elif msg.type == gst.MESSAGE_ERROR:
            self.trackEnded(True)
            log.c.error(msg)
        elif msg.type == gst.MESSAGE_ELEMENT:
            if msg.structure.get_name() == 'prepare-xwindow-id':
                gtk.gdk.threads_enter()
                gtk.gdk.display_get_default().sync()
                self.videosink = msg.src
                self.videosink.set_xwindow_id(self.widget)
                self.videosink.expose()
                gtk.gdk.threads_leave()
                print msg
<<<

This is a bug or I'm doing something wrong?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list