diff --git a/gst-libs/gst/interfaces/Makefile.am b/gst-libs/gst/interfaces/Makefile.am
index a172bb3..340569d 100644
--- a/gst-libs/gst/interfaces/Makefile.am
+++ b/gst-libs/gst/interfaces/Makefile.am
@@ -56,7 +56,8 @@ nodist_libgstinterfaces_@GST_MAJORMINOR@_la_SOURCES = 	\
 	$(built_sources)				\
 	interfaces-marshal.h
 
-libgstinterfaces_@GST_MAJORMINOR@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
+# only need base cflags here, xoverlay includes videosink.h for a struct */
+libgstinterfaces_@GST_MAJORMINOR@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
 libgstinterfaces_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS) $(LIBM) 
 libgstinterfaces_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
 
diff --git a/gst-libs/gst/interfaces/xoverlay.h b/gst-libs/gst/interfaces/xoverlay.h
index ea2fa4e..d8e3831 100644
--- a/gst-libs/gst/interfaces/xoverlay.h
+++ b/gst-libs/gst/interfaces/xoverlay.h
@@ -24,7 +24,6 @@
 #define __GST_X_OVERLAY_H__
 
 #include <gst/gst.h>
-#include <gst/video/gstvideosink.h>
 
 G_BEGIN_DECLS
 
@@ -43,6 +42,18 @@ G_BEGIN_DECLS
   (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_X_OVERLAY, GstXOverlayClass))
 
 /**
+ * GstXOverlayRectangle:
+ * @x: X coordinate of rectangle's top-left point
+ * @y: Y coordinate of rectangle's top-left point
+ * @w: width of the rectangle
+ * @h: height of the rectangle
+ *
+ * Helper structure representing a rectangular area, same as #GstVideoRectangle.
+ *
+ * Since: 0.10.29
+ */
+
+/**
  * GstXOverlay:
  *
  * Opaque #GstXOverlay data structure.
@@ -56,7 +67,7 @@ typedef struct _GstXOverlayClass GstXOverlayClass;
  * @set_xwindow_id: virtual method to configure the XWindow id
  * @expose: virtual method to handle expose events
  * @handle_events: virtual method to handle events
- * @set_render_rectangle: virtual method to set the render rectange (since 0.10.29)
+ * @set_render_rectangle: virtual method to set the render rectangle (since 0.10.29)
  *
  * #GstXOverlay interface
  */
@@ -72,8 +83,8 @@ struct _GstXOverlayClass {
   void (* handle_events)       (GstXOverlay *overlay,
                                 gboolean     handle_events);  
 
-  void (* set_render_rectangle) (GstXOverlay *overlay,
-                                GstVideoRectangle *rect);
+  void (* set_render_rectangle) (GstXOverlay          *overlay,
+                                 GstXOverlayRectangle *rectangle);
     /*< private >*/
   gpointer                 _gst_reserved[GST_PADDING - 2];
 };
@@ -84,8 +95,8 @@ GType   gst_x_overlay_get_type          (void);
 void gst_x_overlay_set_xwindow_id      (GstXOverlay *overlay, 
                                         gulong xwindow_id);
 
-gboolean gst_x_overlay_set_render_rectangle (GstXOverlay *overlay,
-                                        GstVideoRectangle *rect);
+gboolean gst_x_overlay_set_render_rectangle (GstXOverlay          *overlay,
+                                             GstXOverlayRectangle *rectangle);
 
 void gst_x_overlay_expose              (GstXOverlay *overlay);
 
