sys/: Call gst_x_overlay_prepare_xwindow_id() to give applications a final chance...
authorTim-Philipp Müller <tim@centricular.net>
Tue, 22 Nov 2005 11:13:49 +0000 (11:13 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Tue, 22 Nov 2005 11:13:49 +0000 (11:13 +0000)
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_setcaps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
Call gst_x_overlay_prepare_xwindow_id() to give applications
a final chance to set their own xwindow id before the video
sink creates its own window.

ChangeLog
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c

index 458b585..a0e567b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-11-22  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * sys/ximage/ximagesink.c: (gst_ximagesink_setcaps):
+       * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
+         Call gst_x_overlay_prepare_xwindow_id() to give applications
+         a final chance to set their own xwindow id before the video
+         sink creates its own window.
+
 2005-11-22  Julien MOUTTE  <julien@moutte.net>
 
        * sys/xvimage/xvimagesink.c:
index 96e600d..f9679b2 100644 (file)
@@ -1124,6 +1124,11 @@ gst_ximagesink_setcaps (GstBaseSink * bsink, GstCaps * caps)
   GST_VIDEO_SINK_HEIGHT (ximagesink) = new_height;
   ximagesink->framerate = fps;
 
+  /* Notify application to set xwindow id now */
+  if (!ximagesink->xwindow) {
+    gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (ximagesink));
+  }
+
   /* Creating our window and our image */
   g_assert (GST_VIDEO_SINK_WIDTH (ximagesink) > 0);
   g_assert (GST_VIDEO_SINK_HEIGHT (ximagesink) > 0);
index 8313bd7..8fa63a8 100644 (file)
@@ -1503,6 +1503,11 @@ gst_xvimagesink_setcaps (GstBaseSink * bsink, GstCaps * caps)
   GST_DEBUG_OBJECT (xvimagesink, "scaling to %dx%d",
       GST_VIDEO_SINK_WIDTH (xvimagesink), GST_VIDEO_SINK_HEIGHT (xvimagesink));
 
+  /* Notify application to set xwindow id now */
+  if (!xvimagesink->xwindow) {
+    gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (xvimagesink));
+  }
+
   /* Creating our window and our image with the display size in pixels */
   g_assert (GST_VIDEO_SINK_WIDTH (xvimagesink) > 0);
   g_assert (GST_VIDEO_SINK_HEIGHT (xvimagesink) > 0);