diff --git a/configure.ac b/configure.ac
index 310cf40251..55d8bc7324 100644
--- a/configure.ac
+++ b/configure.ac
@@ -312,6 +312,7 @@ AG_GST_CHECK_PLUGIN(replaygain)
AG_GST_CHECK_PLUGIN(rtp)
AG_GST_CHECK_PLUGIN(rtpmanager)
AG_GST_CHECK_PLUGIN(rtsp)
+AG_GST_CHECK_PLUGIN(shapewipe)
AG_GST_CHECK_PLUGIN(smpte)
AG_GST_CHECK_PLUGIN(spectrum)
AG_GST_CHECK_PLUGIN(udp)
@@ -1080,6 +1081,7 @@ gst/replaygain/Makefile
gst/rtp/Makefile
gst/rtpmanager/Makefile
gst/rtsp/Makefile
+gst/shapewipe/Makefile
gst/smpte/Makefile
gst/spectrum/Makefile
gst/udp/Makefile
@@ -1128,6 +1130,7 @@ tests/examples/audiofx/Makefile
tests/examples/equalizer/Makefile
tests/examples/level/Makefile
tests/examples/rtp/Makefile
+tests/examples/shapewipe/Makefile
tests/examples/spectrum/Makefile
tests/examples/v4l2/Makefile
tests/files/Makefile
diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am
index 7ec5202966..1d75f68d87 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -187,6 +187,7 @@ EXTRA_HFILES = \
$(top_srcdir)/gst/rtpmanager/gstrtpssrcdemux.h \
$(top_srcdir)/gst/rtsp/gstrtpdec.h \
$(top_srcdir)/gst/rtsp/gstrtspsrc.h \
+ $(top_srcdir)/gst/shapewipe/gstshapewipe.h \
$(top_srcdir)/gst/smpte/gstsmpte.h \
$(top_srcdir)/gst/smpte/gstsmptealpha.h \
$(top_srcdir)/gst/spectrum/gstspectrum.h \
diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml
index 742f0954a0..5a81b8d883 100644
--- a/docs/plugins/gst-plugins-good-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml
@@ -127,6 +127,7 @@
+
@@ -211,6 +212,7 @@
+
diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt
index 8b57faa5fb..43b8f90093 100644
--- a/docs/plugins/gst-plugins-good-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-good-plugins-sections.txt
@@ -1476,6 +1476,20 @@ GST_RTSP_STREAM_UNLOCK
gst_rtspsrc_get_type
+
+element-shapewipe
+shapewipe
+GstShapeWipe
+
+GstShapeWipeClass
+GST_SHAPE_WIPE
+GST_SHAPE_WIPE_CLASS
+GST_IS_SHAPE_WIPE
+GST_IS_SHAPE_WIPE_CLASS
+GST_TYPE_SHAPE_WIPE
+gst_shape_wipe_get_type
+
+
element-smpte
smpte
diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml
new file mode 100644
index 0000000000..cd7f5a8160
--- /dev/null
+++ b/docs/plugins/inspect/plugin-shapewipe.xml
@@ -0,0 +1,40 @@
+
+ shapewipe
+ Shape Wipe transition filter
+ ../../gst/shapewipe/.libs/libgstshapewipe.so
+ libgstshapewipe.so
+ 0.10.18.1
+ LGPL
+ gst-plugins-good
+ GStreamer Good Plug-ins git
+ Unknown package origin
+
+
+ shapewipe
+ Shape Wipe transition filter
+ Filter/Editor/Video
+ Adds a shape wipe transition to a video stream
+ Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+
+ src
+ source
+ always
+ video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
+
+ mask_sink
+ sink
+ always
+ video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)0/1; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)1234, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)0/1
+
+
+ video_sink
+ sink
+ always
+ video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index 1d1b703d9f..b28b786852 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -116,6 +116,7 @@ check_PROGRAMS = \
elements/rtpbin \
elements/rtpbin_buffer_list \
elements/rtpjitterbuffer \
+ elements/shapewipe \
elements/spectrum \
elements/udpsink \
elements/videocrop \
diff --git a/tests/examples/Makefile.am b/tests/examples/Makefile.am
index d744a63b98..2501e681c7 100644
--- a/tests/examples/Makefile.am
+++ b/tests/examples/Makefile.am
@@ -1,3 +1,3 @@
-SUBDIRS = audiofx equalizer level rtp spectrum v4l2
+SUBDIRS = audiofx equalizer level rtp shapewipe spectrum v4l2
-DIST_SUBDIRS = audiofx equalizer level rtp spectrum v4l2
+DIST_SUBDIRS = audiofx equalizer level rtp shapewipe spectrum v4l2