diff --git a/ext/eglgles/gsteglglessink.c b/ext/eglgles/gsteglglessink.c
index 05f551e650..ab63905f7b 100644
--- a/ext/eglgles/gsteglglessink.c
+++ b/ext/eglgles/gsteglglessink.c
@@ -45,12 +45,23 @@
/**
* SECTION:element-eglglessink
*
- * This is a vout sink using EGL/GLES.
+ * EglGlesSink renders video frames on a EGL surface it sets up
+ * from a window it either creates (on X11) or gets a handle to
+ * through it's xOverlay interface. All the display/surface logic
+ * in this sink uses EGL to interact with the native window system.
+ * The rendering logic, in turn, uses OpenGL ES v2.
+ *
+ * This sink has been tested to work on X11/Mesa and on Android
+ * (From Gingerbread on to Jelly Bean) and while it's currently
+ * using an slow copy-over rendering path it has proven to be fast
+ * enough on the devices we have tried it on. That being said, there's
+ * an currently unfinished and drafted fast rendering path in the code,
+ * relying on a set of EGL/GLES extensions.
*
*
- * Rationale on OpenGL ES version
+ * Supported EGL/OpenGL ES versions
*
- * This Sink uses GLESv2
+ * This Sink uses EGLv1 and GLESv2
*
*
*
@@ -64,9 +75,9 @@
*
* Example launch line with forced slow path rendering
*
- * The sink will chose a buffer copy-over slow rendering path even
- * if needed EGL/GLES extensions to use a fast rendering path are
- * available.
+ * By setting the force_rendering_slow property you can force the sink
+ * to chose the buffer-copy slow rendering path even if the needed
+ * EGL/GLES extensions for the fast rendering path are available.
*
* |[
* gst-launch -v -m videotestsrc ! eglglessink force_rendering_slow=TRUE
@@ -76,14 +87,38 @@
*
* Example launch line with internal window creation disabled
*
- * The sink will wait for a window handle through it's xOverlay interface
- * even if internal window creation is supported by the platform and
- * implemented.
+ * By setting the can_create_window property to FALSE you can force the
+ * sink to wait for a window handle through it's xOverlay interface even
+ * if internal window creation is supported by the platform. Window creation
+ * is only supported in X11 right now but it should be trivial to add support
+ * for different platforms.
*
* |[
* gst-launch -v -m videotestsrc ! eglglessink can_create_window=FALSE
* ]|
*
+ *
+ *
+ * Scaling
+ *
+ * The sink will try it's best to consider the incoming frame's and display's
+ * pixel aspect ratio and fill the corresponding surface without altering the
+ * decoded frame's geometry when scaling. You can disable this logic by setting
+ * the force_aspect_ratio property to FALSE, in which case the sink will just
+ * fill the entire surface it has access to regardles of the PAR/DAR relationship.
+ *
+ *
+ * Querying the display aspect ratio is only supported with EGL versions >= 1.2.
+ * The sink will just assume the DAR to be 1/1 if it can't get access to this
+ * information.
+ *
+ *
+ * Here is an example launch line with the PAR/DAR aware scaling disabled:
+ *
+ * |[
+ * gst-launch -v -m videotestsrc ! eglglessink force_aspect_ratio=FALSE
+ * ]|
+ *
*/
#ifdef HAVE_CONFIG_H