New upstream release candidate.
diff --git a/debian/build-deps b/debian/build-deps
index 7d56f64..189cccb 100644
--- a/debian/build-deps
+++ b/debian/build-deps
@@ -15,7 +15,7 @@
 @GST_EXTRA_BUILD_DEPENDS@
 @GST_LIB_DEV_DEP@
 gstreamer@GST_ABI@-doc
-gstreamer@GST_ABI@-plugins-base (>= 1.5.2)
+gstreamer@GST_ABI@-plugins-base (>= 1.5.90)
 gstreamer@GST_ABI@-plugins-base-doc
 gtk-doc-tools (>= 1.12)
 ladspa-sdk
@@ -42,8 +42,8 @@
 libgme-dev
 libgnutls28-dev (>= 2.11.3)
 libgsm1-dev
-libgstreamer-plugins-base@GST_ABI@-dev (>= 1.5.2)
-libgtk2.0-dev (>= 2.14.0)
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.5.90)
+libgtk-3-dev (>= 3.15.0)
 libiptcdata0-dev (>= 1.0.2)
 libjasper-dev
 libkate-dev (>= 0.1.7)
@@ -55,7 +55,6 @@
 libmpg123-dev (>= 1.13)
 libofa0-dev (>= 0.9.3)
 libopenal-dev (>= 1:1.14)
-libopencv-dev (>= 2.0.0)
 libopenexr-dev
 libopenjpeg-dev
 libopus-dev (>= 0.9.4)
@@ -76,7 +75,7 @@
 libwildmidi-dev (>= 0.2.3)
 libx11-dev
 libx265-dev
-libxml2-dev (>= 2.4)
+libxml2-dev (>= 2.8)
 libxvidcore-dev
 libzbar-dev (>= 0.9)
 libzvbi-dev
diff --git a/debian/build-deps.in b/debian/build-deps.in
index 699b7ce..0780384 100644
--- a/debian/build-deps.in
+++ b/debian/build-deps.in
@@ -1,6 +1,6 @@
 @GST_LIB_DEV_DEP@
 @GST_EXTRA_BUILD_DEPENDS@
-libgstreamer-plugins-base@GST_ABI@-dev (>= 1.5.2)
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.5.90)
 autotools-dev
 dh-autoreconf
 automake (>= 1.14)
@@ -20,7 +20,7 @@
 libmms-dev (>= 0.4)
 libmpcdec-dev
 libsoundtouch-dev (>= 1.5.0)
-libgtk2.0-dev (>= 2.14.0)
+libgtk-3-dev (>= 3.15.0)
 ladspa-sdk
 libsndfile1-dev (>= 1.0.16)
 libfaad-dev
@@ -29,7 +29,7 @@
 libexempi-dev
 libiptcdata0-dev (>= 1.0.2)
 libwildmidi-dev (>= 0.2.3)
-gstreamer@GST_ABI@-plugins-base (>= 1.5.2)
+gstreamer@GST_ABI@-plugins-base (>= 1.5.90)
 libofa0-dev (>= 0.9.3)
 libdvdnav-dev (>= 4.1.2) [!hurd-any]
 libssl-dev
@@ -63,10 +63,9 @@
 libegl1-mesa-dev
 libgles2-mesa-dev
 libglu1-mesa-dev
-libxml2-dev (>= 2.4)
+libxml2-dev (>= 2.8)
 libfluidsynth-dev (>= 1.0)
 libsrtp0-dev
-libopencv-dev (>= 2.0.0)
 libopenjpeg-dev
 libchromaprint-dev
 libwebp-dev (>= 0.2.1)
diff --git a/debian/changelog b/debian/changelog
index 466d4c0..e20b91a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+gst-plugins-bad1.0 (1.5.90-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 19 Aug 2015 13:35:43 +0300
+
 gst-plugins-bad1.0 (1.5.2-1) experimental; urgency=medium
 
   * New unstable upstream release.
diff --git a/debian/control b/debian/control
index 8ed4b1d..21e5661 100644
--- a/debian/control
+++ b/debian/control
@@ -26,9 +26,9 @@
                libbluetooth-dev (>= 5) [linux-any],
                libsbc-dev (>= 1.1) [linux-any],
                libwayland-dev (>= 1.0) [linux-any],
-               libgstreamer1.0-dev (>= 1.5.2),
+               libgstreamer1.0-dev (>= 1.5.90),
                gstreamer1.0-doc,
-               gstreamer1.0-plugins-base (>= 1.5.2),
+               gstreamer1.0-plugins-base (>= 1.5.90),
                gstreamer1.0-plugins-base-doc,
                gtk-doc-tools (>= 1.12),
                ladspa-sdk,
@@ -55,8 +55,8 @@
                libgme-dev,
                libgnutls28-dev (>= 2.11.3),
                libgsm1-dev,
-               libgstreamer-plugins-base1.0-dev (>= 1.5.2),
-               libgtk2.0-dev (>= 2.14.0),
+               libgstreamer-plugins-base1.0-dev (>= 1.5.90),
+               libgtk-3-dev (>= 3.15.0),
                libiptcdata0-dev (>= 1.0.2),
                libjasper-dev,
                libkate-dev (>= 0.1.7),
@@ -68,7 +68,6 @@
                libmpg123-dev (>= 1.13),
                libofa0-dev (>= 0.9.3),
                libopenal-dev (>= 1:1.14),
-               libopencv-dev (>= 2.0.0),
                libopenexr-dev,
                libopenjpeg-dev,
                libopus-dev (>= 0.9.4),
@@ -89,7 +88,7 @@
                libwildmidi-dev (>= 0.2.3),
                libx11-dev,
                libx265-dev,
-               libxml2-dev (>= 2.4),
+               libxml2-dev (>= 2.8),
                libxvidcore-dev,
                libzbar-dev (>= 0.9),
                libzvbi-dev,
diff --git a/debian/gstreamer-plugins-bad.install b/debian/gstreamer-plugins-bad.install
index 4c00fc2..4836ef2 100644
--- a/debian/gstreamer-plugins-bad.install
+++ b/debian/gstreamer-plugins-bad.install
@@ -37,6 +37,7 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstgeometrictransform.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstgme.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstgsm.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstgtksink.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstid3tag.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstinter.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstinterlace.so
@@ -62,7 +63,6 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmxf.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstofa.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopenal.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopencv.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopengl.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopenexr.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopenjpeg.so
diff --git a/debian/patches/03_gtk-gl-Use-our-GL-function-table-instead-of-directly.patch b/debian/patches/03_gtk-gl-Use-our-GL-function-table-instead-of-directly.patch
new file mode 100644
index 0000000..99470f8
--- /dev/null
+++ b/debian/patches/03_gtk-gl-Use-our-GL-function-table-instead-of-directly.patch
@@ -0,0 +1,52 @@
+From f722f047efa6eba2d793364f7031adadcf2efab7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
+Date: Wed, 19 Aug 2015 13:52:21 +0300
+Subject: [PATCH] gtk/gl: Use our GL function table instead of directly calling
+ GL functions
+
+Otherwise we would have to link the plugin to the GL libraries directly.
+---
+ ext/gtk/gtkgstglwidget.c | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/ext/gtk/gtkgstglwidget.c b/ext/gtk/gtkgstglwidget.c
+index cdce3aa..059fa87 100644
+--- a/ext/gtk/gtkgstglwidget.c
++++ b/ext/gtk/gtkgstglwidget.c
+@@ -202,10 +202,12 @@ _redraw_texture (GtkGstGLWidget * gst_widget, guint tex)
+ }
+ 
+ static inline void
+-_draw_black (void)
++_draw_black (GstGLContext * context)
+ {
+-  glClearColor (0.0, 0.0, 0.0, 0.0);
+-  glClear (GL_COLOR_BUFFER_BIT);
++  const GstGLFuncs *gl = context->gl_vtable;
++
++  gl->ClearColor (0.0, 0.0, 0.0, 0.0);
++  gl->Clear (GL_COLOR_BUFFER_BIT);
+ }
+ 
+ static gboolean
+@@ -225,7 +228,7 @@ gtk_gst_gl_widget_render (GtkGLArea * widget, GdkGLContext * context)
+     gtk_gst_gl_widget_init_redisplay (GTK_GST_GL_WIDGET (widget));
+ 
+   if (!priv->initted || !base_widget->negotiated) {
+-    _draw_black ();
++    _draw_black (priv->other_context);
+     goto done;
+   }
+ 
+@@ -237,7 +240,7 @@ gtk_gst_gl_widget_render (GtkGLArea * widget, GdkGLContext * context)
+ 
+     if (!gst_video_frame_map (&gl_frame, &base_widget->v_info, buffer,
+             GST_MAP_READ | GST_MAP_GL)) {
+-      _draw_black ();
++      _draw_black (priv->other_context);
+       goto done;
+     }
+ 
+-- 
+2.5.0
+
diff --git a/debian/patches/series b/debian/patches/series
index 6d98219..6d822b2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 01_fix-modplug-linking.patch
 02_opencv-linking.patch
+03_gtk-gl-Use-our-GL-function-table-instead-of-directly.patch
diff --git a/debian/rules b/debian/rules
index 9017e68..e12780a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -45,7 +45,7 @@
 gst_lib=libgstreamer$(gst_abi)-0
 gst_lib_dev=libgstreamer$(gst_abi)-dev
 # what gstreamer version is needed
-gst_lib_dev_dep=$(gst_lib_dev) (>= 1.5.2)
+gst_lib_dev_dep=$(gst_lib_dev) (>= 1.5.90)
 
 gst_pkgname=gstreamer$(gst_abi)
 gst_deb_abi=$(gst_abi)-0