diff --git a/ChangeLog b/ChangeLog index 7edd2b3d7a..7f36b2c9d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-04-24 Jan Schmidt + + * examples/play.py: + * examples/remuxer.py: + * examples/switch.py: + * examples/synchronizer.py: + Sync with the X server before giving an XID to our sink with a different + display connection. This avoids spurious X servers where the sink's + display connection doesn't know the XID that the GDK thread's does. + 2008-04-06 Sebastian Dröge Patch by: Damien Lespiau diff --git a/common b/common index fda6da5f2b..f6fc3fa764 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit fda6da5f2b9b000f7e1df8ffb44a6185ffd9799b +Subproject commit f6fc3fa7643c03eb912f4e259d48c99b0e8d0aca diff --git a/examples/play.py b/examples/play.py index c6b5ac1cf6..a7522b482d 100644 --- a/examples/play.py +++ b/examples/play.py @@ -32,6 +32,8 @@ class GstPlayer: if message.structure is None: return if message.structure.get_name() == 'prepare-xwindow-id': + # Sync with the X server before giving the X-id to the sink + gtk.gdk.display_get_default().sync() self.videowidget.set_sink(message.src) message.src.set_property('force-aspect-ratio', True) diff --git a/examples/remuxer.py b/examples/remuxer.py index b81e93e3bc..039e38c6e7 100644 --- a/examples/remuxer.py +++ b/examples/remuxer.py @@ -32,6 +32,8 @@ class GstPlayer: if message.structure is None: return if message.structure.get_name() == 'prepare-xwindow-id': + # Sync with the X server before giving the X-id to the sink + gtk.gdk.display_get_default().sync() self.videowidget.set_sink(message.src) message.src.set_property('force-aspect-ratio', True) diff --git a/examples/switch.py b/examples/switch.py index af33cc6e66..7117843fdb 100755 --- a/examples/switch.py +++ b/examples/switch.py @@ -35,6 +35,8 @@ class SwitchTest: if message.structure is None: return if message.structure.get_name() == 'prepare-xwindow-id': + # Sync with the X server before giving the X-id to the sink + gtk.gdk.display_get_default().sync() self.videowidget.set_sink(message.src) message.src.set_property('force-aspect-ratio', True) diff --git a/examples/synchronizer.py b/examples/synchronizer.py index 709a9dde4e..f5eff5013f 100755 --- a/examples/synchronizer.py +++ b/examples/synchronizer.py @@ -32,6 +32,8 @@ class GstPlayer: if message.structure is None: return if message.structure.get_name() == 'prepare-xwindow-id': + # Sync with the X server before giving the X-id to the sink + gtk.gdk.display_get_default().sync() self.videowidget.set_sink(message.src) message.src.set_property('force-aspect-ratio', True)