[gst-cvs] gst-plugins-bad: vdpau: Use the new XOverlay API

Edward Hervey bilboed at kemper.freedesktop.org
Tue Sep 21 07:32:11 PDT 2010


Module: gst-plugins-bad
Branch: master
Commit: 849d3ec37190b067a3d8baa37707febe24a2ec5f
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=849d3ec37190b067a3d8baa37707febe24a2ec5f

Author: Edward Hervey <bilboed at bilboed.com>
Date:   Tue Sep 21 16:26:34 2010 +0200

vdpau: Use the new XOverlay API

Fixes #630254

---

 sys/vdpau/gstvdpsink.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/sys/vdpau/gstvdpsink.c b/sys/vdpau/gstvdpsink.c
index 064c1c6..43afc55 100644
--- a/sys/vdpau/gstvdpsink.c
+++ b/sys/vdpau/gstvdpsink.c
@@ -248,7 +248,8 @@ gst_vdp_sink_window_new (VdpSink * vdp_sink, gint width, gint height)
             device->vdp_get_error_string (status)));
   }
 
-  gst_x_overlay_got_xwindow_id (GST_X_OVERLAY (vdp_sink), window->win);
+  gst_x_overlay_got_window_handle (GST_X_OVERLAY (vdp_sink),
+      (guintptr) window->win);
 
   return window;
 }
@@ -838,8 +839,8 @@ gst_vdp_sink_show_frame (GstBaseSink * bsink, GstBuffer * outbuf)
 
     g_mutex_lock (vdp_sink->x_lock);
     status =
-        device->vdp_presentation_queue_query_surface_status (vdp_sink->
-        window->queue, surface, &queue_status, &pres_time);
+        device->vdp_presentation_queue_query_surface_status (vdp_sink->window->
+        queue, surface, &queue_status, &pres_time);
     g_mutex_unlock (vdp_sink->x_lock);
 
     if (queue_status == VDP_PRESENTATION_QUEUE_STATUS_QUEUED) {
@@ -1104,11 +1105,12 @@ gst_vdp_sink_navigation_init (GstNavigationInterface * iface)
 }
 
 static void
-gst_vdp_sink_set_xwindow_id (GstXOverlay * overlay, XID xwindow_id)
+gst_vdp_sink_set_window_handle (GstXOverlay * overlay, guintptr window_handle)
 {
   VdpSink *vdp_sink = GST_VDP_SINK (overlay);
   GstVdpWindow *window = NULL;
   XWindowAttributes attr;
+  Window xwindow_id = (XID) window_handle;
 
   /* We acquire the stream lock while setting this window in the element.
      We are basically cleaning tons of stuff replacing the old window, putting
@@ -1213,7 +1215,7 @@ gst_vdp_sink_set_event_handling (GstXOverlay * overlay, gboolean handle_events)
 static void
 gst_vdp_sink_xoverlay_init (GstXOverlayClass * iface)
 {
-  iface->set_xwindow_id = gst_vdp_sink_set_xwindow_id;
+  iface->set_window_handle = gst_vdp_sink_set_window_handle;
   iface->expose = gst_vdp_sink_expose;
   iface->handle_events = gst_vdp_sink_set_event_handling;
 }





More information about the Gstreamer-commits mailing list