<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstxoverlay</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GStreamer Base Plugins 0.10 Library Reference Manual">
<link rel="up" href="gstreamer-interfaces.html" title="Interfaces Library">
<link rel="prev" href="gst-plugins-base-libs-gstvideoorientation.html" title="gstvideoorientation">
<link rel="next" href="gstreamer-netbuffer.html" title="Network Buffer Library">
-<meta name="generator" content="GTK-Doc V1.17 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-got-xwindow-id" title="gst_x_overlay_got_xwindow_id ()">gst_x_overlay_got_xwindow_id</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> xwindow_id</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-got-window-handle" title="gst_x_overlay_got_window_handle ()">gst_x_overlay_got_window_handle</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guintptr"><span class="type">guintptr</span></a> handle</code></em>);
+ <em class="parameter"><code><span class="type">guintptr</span> handle</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-set-window-handle" title="gst_x_overlay_set_window_handle ()">gst_x_overlay_set_window_handle</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guintptr"><span class="type">guintptr</span></a> handle</code></em>);
+ <em class="parameter"><code><span class="type">guintptr</span> handle</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-prepare-xwindow-id" title="gst_x_overlay_prepare_xwindow_id ()">gst_x_overlay_prepare_xwindow_id</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-expose" title="gst_x_overlay_expose ()">gst_x_overlay_expose</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-handle-events" title="gst_x_overlay_handle_events ()">gst_x_overlay_handle_events</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>,
<p>
</p>
<div class="refsect2">
-<a name="idp15827040"></a><p>
+<a name="idp17754944"></a><p>
The XOverlay interface is used for 2 main purposes :
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<span class="gtkdoc slc">// ignore anything but 'prepare-xwindow-id' element messages</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">) !=</span> GST_MESSAGE_ELEMENT<span class="gtkdoc opt">)</span>
<span class="keyword">return</span> GST_BUS_PASS<span class="gtkdoc opt">;</span>
-
+
<span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#gst-structure-has-name">gst_structure_has_name</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">-></span>structure<span class="gtkdoc opt">,</span> <span class="string">"prepare-xwindow-id"</span><span class="gtkdoc opt">))</span>
<span class="keyword">return</span> GST_BUS_PASS<span class="gtkdoc opt">;</span>
-
+
win <span class="gtkdoc opt">=</span> <span class="function">XCreateSimpleWindow</span> <span class="gtkdoc opt">(</span>disp<span class="gtkdoc opt">,</span> root<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">320</span><span class="gtkdoc opt">,</span> <span class="number">240</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
-
+
<span class="function">XSetWindowBackgroundPixmap</span> <span class="gtkdoc opt">(</span>disp<span class="gtkdoc opt">,</span> win<span class="gtkdoc opt">,</span> None<span class="gtkdoc opt">);</span>
-
+
<span class="function">XMapRaised</span> <span class="gtkdoc opt">(</span>disp<span class="gtkdoc opt">,</span> win<span class="gtkdoc opt">);</span>
-
+
<span class="function">XSync</span> <span class="gtkdoc opt">(</span>disp<span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">);</span>
-
+
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-set-window-handle">gst_x_overlay_set_window_handle</a></span> <span class="gtkdoc opt">(</span><span class="function">GST_X_OVERLAY</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-SRC:CAPS">GST_MESSAGE_SRC</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">)),</span>
win<span class="gtkdoc opt">);</span>
-
+
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-unref">gst_message_unref</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">);</span>
-
+
<span class="keyword">return</span> GST_BUS_DROP<span class="gtkdoc opt">;</span>
<span class="gtkdoc opt">}</span>
<span class="gtkdoc opt">...</span>
</p>
<hr>
<div class="refsect2">
-<a name="idp15836384"></a><h3>Two basic usage scenarios</h3>
+<a name="idp17764272"></a><h3>Two basic usage scenarios</h3>
<p>
There are two basic usage scenarios: in the simplest case, the application
knows exactly what particular element is used for video output, which is
windowing systems are not thread-safe at all and a lot of care would be
required to co-ordinate the toolkit and window system calls of the
different threads (Gtk+ users please note: prior to Gtk+ 2.18
-<a href="http://library.gnome.org/devel/gdk3/gdk-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS"><code class="function">GDK_WINDOW_XID()</code></a> was just a simple structure access, so generally fine to do
+<a href="http://library.gnome.org/devel/gdk/gdk3-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS"><code class="function">GDK_WINDOW_XID()</code></a> was just a simple structure access, so generally fine to do
within the bus sync handler; this macro was changed to a function call in
Gtk+ 2.18 and later, which is likely to cause problems when called from a
-sync handler; see below for a better approach without <a href="http://library.gnome.org/devel/gdk3/gdk-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS"><code class="function">GDK_WINDOW_XID()</code></a>
+sync handler; see below for a better approach without <a href="http://library.gnome.org/devel/gdk/gdk3-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS"><code class="function">GDK_WINDOW_XID()</code></a>
used in the callback).
</p>
</div>
</p>
<hr>
<div class="refsect2">
-<a name="idp15848544"></a><h3>GstXOverlay and Gtk+</h3>
+<a name="idp17776432"></a><h3>GstXOverlay and Gtk+</h3>
<p>
</p>
<div class="informalexample">
79
80
81
-82</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include <gtk/gtk.h></span>
+82
+83</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include <gst/interfaces/xoverlay.h></span>
+<span class="gtkdoc ppc">#include <gtk/gtk.h></span>
<span class="gtkdoc ppc">#ifdef GDK_WINDOWING_X11</span>
<span class="gtkdoc ppc">#include <gdk/gdkx.h></span> <span class="gtkdoc slc">// for GDK_WINDOW_XID</span>
<span class="gtkdoc ppc"></span><span class="gtkdoc ppc">#endif</span>
<span class="keyword">return</span> GST_BUS_PASS<span class="gtkdoc opt">;</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#gst-structure-has-name">gst_structure_has_name</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">-></span>structure<span class="gtkdoc opt">,</span> <span class="string">"prepare-xwindow-id"</span><span class="gtkdoc opt">))</span>
<span class="keyword">return</span> GST_BUS_PASS<span class="gtkdoc opt">;</span>
-
+
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>video_window_xid <span class="gtkdoc opt">!=</span> <span class="number">0</span><span class="gtkdoc opt">) {</span>
GstXOverlay <span class="gtkdoc opt">*</span>xoverlay<span class="gtkdoc opt">;</span>
-
+
<span class="gtkdoc slc">// GST_MESSAGE_SRC (message) will be the video sink element</span>
xoverlay <span class="gtkdoc opt">=</span> <span class="function">GST_X_OVERLAY</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-SRC:CAPS">GST_MESSAGE_SRC</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">));</span>
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-set-window-handle">gst_x_overlay_set_window_handle</a></span> <span class="gtkdoc opt">(</span>xoverlay<span class="gtkdoc opt">,</span> video_window_xid<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span> <span class="keyword">else</span> <span class="gtkdoc opt">{</span>
<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Message-Logging.html#g-warning">g_warning</a></span> <span class="gtkdoc opt">(</span><span class="string">"Should have obtained video_window_xid by now!"</span><span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
-
+
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-unref">gst_message_unref</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">);</span>
<span class="keyword">return</span> GST_BUS_DROP<span class="gtkdoc opt">;</span>
<span class="gtkdoc opt">}</span>
<span class="gtkdoc ppc">#if GTK_CHECK_VERSION(2,18,0)</span>
<span class="gtkdoc slc">// This is here just for pedagogical purposes, GDK_WINDOW_XID will call</span>
<span class="gtkdoc slc">// it as well in newer Gtk versions</span>
- <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="http://library.gnome.org/devel/gdk3/gdk-Windows.html#gdk-window-ensure-native">gdk_window_ensure_native</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">-></span>window<span class="gtkdoc opt">))</span>
+ <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="http://library.gnome.org/devel/gdk/gdk3-Windows.html#gdk-window-ensure-native">gdk_window_ensure_native</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">-></span>window<span class="gtkdoc opt">))</span>
<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Message-Logging.html#g-error">g_error</a></span> <span class="gtkdoc opt">(</span><span class="string">"Couldn't create native window needed for GstXOverlay!"</span><span class="gtkdoc opt">);</span>
<span class="gtkdoc ppc">#endif</span>
<span class="gtkdoc ppc">#ifdef GDK_WINDOWING_X11</span>
- video_window_xid <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/gdk3/gdk-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS">GDK_WINDOW_XID</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">-></span>window<span class="gtkdoc opt">);</span>
+ video_window_xid <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/gdk/gdk3-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS">GDK_WINDOW_XID</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://library.gnome.org/devel/gtk/GtkWidget.html#gtk-widget-get-window">gtk_widget_get_window</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">));</span>
<span class="gtkdoc ppc">#endif</span>
<span class="gtkdoc opt">}</span>
<span class="gtkdoc opt">...</span>
GtkWidget <span class="gtkdoc opt">*</span>video_window<span class="gtkdoc opt">;</span>
GtkWidget <span class="gtkdoc opt">*</span>app_window<span class="gtkdoc opt">;</span>
<span class="gtkdoc opt">...</span>
- app_window <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkWindow.html#gtk-window-new">gtk_window_new</a></span> <span class="gtkdoc opt">(</span>GTK_WINDOW_TOPLEVEL<span class="gtkdoc opt">);</span>
+ app_window <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/gtk/GtkWindow.html#gtk-window-new">gtk_window_new</a></span> <span class="gtkdoc opt">(</span>GTK_WINDOW_TOPLEVEL<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">...</span>
- video_window <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkDrawingArea.html#gtk-drawing-area-new">gtk_drawing_area_new</a></span> <span class="gtkdoc opt">();</span>
+ video_window <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/gtk/GtkDrawingArea.html#gtk-drawing-area-new">gtk_drawing_area_new</a></span> <span class="gtkdoc opt">();</span>
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#g-signal-connect">g_signal_connect</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">,</span> <span class="string">"realize"</span><span class="gtkdoc opt">,</span>
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span> <span class="gtkdoc opt">(</span>video_widget_realize_cb<span class="gtkdoc opt">),</span> NULL<span class="gtkdoc opt">);</span>
- <span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html#gtk-widget-set-double-buffered">gtk_widget_set_double_buffered</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">);</span>
+ <span class="function"><a href="http://library.gnome.org/devel/gtk/GtkWidget.html#gtk-widget-set-double-buffered">gtk_widget_set_double_buffered</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">...</span>
<span class="gtkdoc slc">// usually the video_window will not be directly embedded into the</span>
<span class="gtkdoc slc">// application window like this, but there will be many other widgets</span>
<span class="gtkdoc slc">// and the video window will be embedded in one of them instead</span>
- <span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkContainer.html#gtk-container-add">gtk_container_add</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_CONTAINER</span> <span class="gtkdoc opt">(</span>ap_window<span class="gtkdoc opt">),</span> video_window<span class="gtkdoc opt">);</span>
+ <span class="function"><a href="http://library.gnome.org/devel/gtk/GtkContainer.html#gtk-container-add">gtk_container_add</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_CONTAINER</span> <span class="gtkdoc opt">(</span>ap_window<span class="gtkdoc opt">),</span> video_window<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">...</span>
<span class="gtkdoc slc">// show the GUI</span>
- <span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html#gtk-widget-show-all">gtk_widget_show_all</a></span> <span class="gtkdoc opt">(</span>app_window<span class="gtkdoc opt">);</span>
+ <span class="function"><a href="http://library.gnome.org/devel/gtk/GtkWidget.html#gtk-widget-show-all">gtk_widget_show_all</a></span> <span class="gtkdoc opt">(</span>app_window<span class="gtkdoc opt">);</span>
<span class="gtkdoc slc">// realize window now so that the video window gets created and we can</span>
<span class="gtkdoc slc">// obtain its XID before the pipeline is started up and the videosink</span>
<span class="gtkdoc slc">// asks for the XID of the window to render onto</span>
- <span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html#gtk-widget-realize">gtk_widget_realize</a></span> <span class="gtkdoc opt">(</span>window<span class="gtkdoc opt">);</span>
+ <span class="function"><a href="http://library.gnome.org/devel/gtk/GtkWidget.html#gtk-widget-realize">gtk_widget_realize</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">);</span>
<span class="gtkdoc slc">// we should have the XID now</span>
<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert">g_assert</a></span> <span class="gtkdoc opt">(</span>video_window_xid <span class="gtkdoc opt">!=</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
</p>
<hr>
<div class="refsect2">
-<a name="idp15853312"></a><h3>GstXOverlay and Qt</h3>
+<a name="idp17781264"></a><h3>GstXOverlay and Qt</h3>
<p>
</p>
<div class="informalexample">
GstElement <span class="gtkdoc opt">*</span>sink <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-make">gst_element_factory_make</a></span> <span class="gtkdoc opt">(</span><span class="string">"xvimagesink"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html#gst-bin-add-many">gst_bin_add_many</a></span> <span class="gtkdoc opt">(</span><span class="function">GST_BIN</span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">),</span> src<span class="gtkdoc opt">,</span> sink<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-link">gst_element_link</a></span> <span class="gtkdoc opt">(</span>src<span class="gtkdoc opt">,</span> sink<span class="gtkdoc opt">);</span>
-
+
<span class="gtkdoc slc">// prepare the ui</span>
QWidget window<span class="gtkdoc opt">;</span>
window<span class="gtkdoc opt">.</span><span class="function">resize</span><span class="gtkdoc opt">(</span><span class="number">320</span><span class="gtkdoc opt">,</span> <span class="number">240</span><span class="gtkdoc opt">);</span>
window<span class="gtkdoc opt">.</span><span class="function">show</span><span class="gtkdoc opt">();</span>
-
+
WId xwinid <span class="gtkdoc opt">=</span> window<span class="gtkdoc opt">.</span><span class="function">winId</span><span class="gtkdoc opt">();</span>
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-set-window-handle">gst_x_overlay_set_window_handle</a></span> <span class="gtkdoc opt">(</span><span class="function">GST_X_OVERLAY</span> <span class="gtkdoc opt">(</span>sink<span class="gtkdoc opt">),</span> xwinid<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<span class="gtkdoc kwb">int</span> ret <span class="gtkdoc opt">=</span> app<span class="gtkdoc opt">.</span><span class="function">exec</span><span class="gtkdoc opt">();</span>
-
+
window<span class="gtkdoc opt">.</span><span class="function">hide</span><span class="gtkdoc opt">();</span>
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-set-state">gst_element_set_state</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> GST_STATE_NULL<span class="gtkdoc opt">);</span>
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">);</span>
void (* set_xwindow_id) (GstXOverlay *overlay,
gulong xwindow_id);
#else
- void (* set_xwindow_id_disabled) (GstXOverlay *overlay,
- gulong xwindow_id);
+#endif
#endif /* not GST_DISABLE_DEPRECATED */
void (* expose) (GstXOverlay *overlay);
-
+
void (* handle_events) (GstXOverlay *overlay,
- gboolean handle_events);
+ gboolean handle_events);
void (* set_render_rectangle) (GstXOverlay *overlay,
gint x, gint y,
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GstXOverlayClass.set-xwindow-id"></a>set_xwindow_id</code></em> ()</span></p></td>
-<td>virtual method to configure the XWindow id</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="structfield"><code><a name="GstXOverlayClass.set-xwindow-id-disabled"></a>set_xwindow_id_disabled</code></em> ()</span></p></td>
-<td></td>
+<td>(deprecated) virtual method to configure the XWindow handle</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GstXOverlayClass.expose"></a>expose</code></em> ()</span></p></td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GstXOverlayClass.set-window-handle"></a>set_window_handle</code></em> ()</span></p></td>
-<td></td>
+<td>virtual method to configure the window handle</td>
</tr>
</tbody>
</table></div>
<p>
This will call the video overlay's set_xwindow_id method. You should
use this method to tell to a XOverlay to display video output to a
-specific XWindow. Passing 0 as the xwindow_id will tell the overlay to
+specific XWindow. Passing 0 as the <em class="parameter"><code>xwindow_id</code></em> will tell the overlay to
stop using that window and create an internal one.
</p>
<div class="variablelist"><table border="0">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>overlay</code></em> :</span></p></td>
-<td>a <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> to set the XWindow on.</td>
+<td>a <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> to set the window on.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>xwindow_id</code></em> :</span></p></td>
-<td>a <span class="type">XID</span> referencing the XWindow.</td>
+<td>a XID referencing the XWindow.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>xwindow_id</code></em> :</span></p></td>
-<td>a <span class="type">XID</span> referencing the XWindow.</td>
+<td>a XID referencing the XWindow.</td>
</tr>
</tbody>
</table></div>
<div class="refsect2">
<a name="gst-x-overlay-got-window-handle"></a><h3>gst_x_overlay_got_window_handle ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_x_overlay_got_window_handle (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guintptr"><span class="type">guintptr</span></a> handle</code></em>);</pre>
+ <em class="parameter"><code><span class="type">guintptr</span> handle</code></em>);</pre>
<p>
This will post a "have-xwindow-id" element message on the bus.
</p>
<div class="refsect2">
<a name="gst-x-overlay-set-window-handle"></a><h3>gst_x_overlay_set_window_handle ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_x_overlay_set_window_handle (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guintptr"><span class="type">guintptr</span></a> handle</code></em>);</pre>
+ <em class="parameter"><code><span class="type">guintptr</span> handle</code></em>);</pre>
<p>
This will call the video overlay's set_window_handle method. You
should use this method to tell to a XOverlay to display video output to a
-specific XWindow. Passing 0 as the xwindow_id will tell the overlay to
-stop using that window and create an internal one.
+specific window (e.g. an XWindow on X11). Passing 0 as the <em class="parameter"><code>handle</code></em> will
+tell the overlay to stop using that window and create an internal one.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>overlay</code></em> :</span></p></td>
-<td>a <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> to set the XWindow on.</td>
+<td>a <a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> to set the window on.</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>xwindow_id</code></em> :</span></p></td>
-<td>a <span class="type">XID</span> referencing the XWindow.</td>
+<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
+<td>a handle referencing the window.</td>
</tr>
</tbody>
</table></div>
<pre class="programlisting"><span class="returnvalue">void</span> gst_x_overlay_prepare_xwindow_id (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> *overlay</code></em>);</pre>
<p>
This will post a "prepare-xwindow-id" element message on the bus
-to give applications an opportunity to call
+to give applications an opportunity to call
<a class="link" href="gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-set-xwindow-id" title="gst_x_overlay_set_xwindow_id ()"><code class="function">gst_x_overlay_set_xwindow_id()</code></a> before a plugin creates its own
window.
</p>
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> handle_events</code></em>);</pre>
<p>
Tell an overlay that it should handle events from the window system. These
-events are forwared upstream as navigation events. In some window system,
+events are forwarded upstream as navigation events. In some window system,
events are not propagated in the window hierarchy if a client is listening
for them. This method allows you to disable events handling completely
from the XOverlay.
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.17</div>
+ Generated by GTK-Doc V1.18</div>
</body>
</html>
\ No newline at end of file