diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am
index 9896f0fb92..dd189640a2 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -80,6 +80,7 @@ EXTRA_HFILES = \
$(top_srcdir)/ext/annodex/gstcmmlenc.h \
$(top_srcdir)/ext/cairo/gsttextoverlay.h \
$(top_srcdir)/ext/cairo/gsttimeoverlay.h \
+ $(top_srcdir)/ext/cairo/gstcairorender.h \
$(top_srcdir)/ext/dv/gstdvdec.h \
$(top_srcdir)/ext/dv/gstdvdemux.h \
$(top_srcdir)/ext/esd/esdsink.h \
diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml
index 00234aeb8d..75714e3eed 100644
--- a/docs/plugins/gst-plugins-good-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml
@@ -48,6 +48,7 @@
+
diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt
index 1093c9e86e..73d7aff2ad 100644
--- a/docs/plugins/gst-plugins-good-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-good-plugins-sections.txt
@@ -420,6 +420,20 @@ GST_IS_CAIRO_TIME_OVERLAY_CLASS
gst_cairo_time_overlay_get_type
+
+element-cairorender
+cairorender
+GstCairoRender
+
+GstCairoRenderClass
+GST_TYPE_CAIRO_RENDER
+GST_CAIRO_RENDER
+GST_CAIRO_RENDER_CLASS
+GST_IS_CAIRO_RENDER
+GST_IS_CAIRO_RENDER_CLASS
+gst_cairo_render_get_type
+
+
element-cmmldec
cmmldec
diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args
index ba6655b1c0..4ecd24539f 100644
--- a/docs/plugins/gst-plugins-good-plugins.args
+++ b/docs/plugins/gst-plugins-good-plugins.args
@@ -1668,6 +1668,16 @@
TRUE
+
+GstFlacEnc::padding
+guint
+
+rwx
+Padding
+Write a PADDING block with this length in bytes.
+0
+
+
GstOssSink::device
gchar*
diff --git a/docs/plugins/gst-plugins-good-plugins.hierarchy b/docs/plugins/gst-plugins-good-plugins.hierarchy
index f39fa3f5ac..669801bcc2 100644
--- a/docs/plugins/gst-plugins-good-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-good-plugins.hierarchy
@@ -78,6 +78,7 @@ GObject
GstRgAnalysis
GstRgLimiter
GstVideoCrop
+ GstCairoRender
GstBaseSrc
GstPushSrc
GstSoupHTTPSrc
diff --git a/docs/plugins/inspect/plugin-cairo.xml b/docs/plugins/inspect/plugin-cairo.xml
index dad59086dc..efa2224546 100644
--- a/docs/plugins/inspect/plugin-cairo.xml
+++ b/docs/plugins/inspect/plugin-cairo.xml
@@ -1,6 +1,6 @@
cairo
- Cairo-based overlaying
+ Cairo-based elements
../../ext/cairo/.libs/libgstcairo.so
libgstcairo.so
0.10.15.1
@@ -9,6 +9,27 @@
GStreamer Good Plug-ins git/prerelease
Unknown package origin
+
+ cairorender
+ Cairo encoder
+ Codec/Encoder
+ Encodes streams using Cairo
+ Lutz Mueller <lutz@topfrose.de>
+
+
+ src
+ source
+ always
+ application/pdf, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; application/postscript, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; image/svg+xml, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; image/png, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]
+
+
+ sink
+ sink
+ always
+ video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y800, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/png, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]
+
+
+
cairotextoverlay
Text overlay
diff --git a/ext/cairo/gstcairorender.c b/ext/cairo/gstcairorender.c
index 060ec90244..4e329ea4c5 100644
--- a/ext/cairo/gstcairorender.c
+++ b/ext/cairo/gstcairorender.c
@@ -17,6 +17,20 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
+
+/**
+ * SECTION:element-cairorender
+ *
+ * cairorender encodes a video stream into PDF, SVG, PNG or Postscript
+ *
+ *
+ * Example launch line
+ * |[
+ * gst-launch videotestsrc num-buffers=3 ! cairorender ! "application/pdf" ! filesink location=test.pdf
+ * ]|
+ *
+ */
+
#include "gstcairorender.h"
#include