diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
index d14e8a4882..41b5c0ebb3 100644
--- a/docs/gst/gstreamer-docs.sgml
+++ b/docs/gst/gstreamer-docs.sgml
@@ -13,6 +13,8 @@
+
+
@@ -86,6 +88,8 @@
&GstCpu;
&GstData;
&GstElement;
+ &GstElementDetails;
+ &GstElementFactory;
&GstError;
&GstEvent;
&GstFormat;
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index 757e0657c8..9800cc8ff1 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -268,11 +268,9 @@ gst_data_get_type
gstelement
+GstElement
GstElement
GST_TYPE_ELEMENT
-GstElementDetails
-GST_ELEMENT_DETAILS
-GST_IS_ELEMENT_DETAILS
GST_NUM_STATES
GST_STATE
GST_STATE_PENDING
@@ -299,7 +297,6 @@ GST_ELEMENT_ERROR
GstElementLoopFunction
GstElementPreRunFunction
GstElementPostRunFunction
-GstElement
gst_element_class_add_pad_template
gst_element_class_install_std_props
gst_element_class_set_details
@@ -382,7 +379,31 @@ gst_element_state_get_name
gst_element_get_factory
gst_element_get_managing_bin
gst_element_no_more_pads
+
+GstElementClass
+GST_ELEMENT
+GST_IS_ELEMENT
+GST_ELEMENT_CLASS
+GST_IS_ELEMENT_CLASS
+GST_ELEMENT_GET_CLASS
+
+gst_element_get_type
+
+
+
+gstelementdetails
+GstElementDetails
+GstElementDetails
+
+GST_ELEMENT_DETAILS
+GST_IS_ELEMENT_DETAILS
+
+
+
+gstelementfactory
GstElementFactory
+GST_TYPE_ELEMENT_FACTORY
+GstElementFactory
gst_element_register
gst_element_factory_find
gst_element_factory_get_element_type
@@ -398,22 +419,13 @@ gst_element_factory_create
gst_element_factory_make
gst_element_factory_can_src_caps
gst_element_factory_can_sink_caps
-GstElementFactory
-GST_TYPE_ELEMENT_FACTORY
-GstElementClass
-GST_ELEMENT
-GST_IS_ELEMENT
-GST_ELEMENT_CLASS
-GST_IS_ELEMENT_CLASS
-GST_ELEMENT_GET_CLASS
GstElementFactoryClass
GST_ELEMENT_FACTORY
GST_IS_ELEMENT_FACTORY
GST_ELEMENT_FACTORY_CLASS
GST_IS_ELEMENT_FACTORY_CLASS
-gst_element_get_type
gst_element_factory_get_type
diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml
index 9cb0d30b10..ee370e94b1 100644
--- a/docs/gst/tmpl/gstelement.sgml
+++ b/docs/gst/tmpl/gstelement.sgml
@@ -159,37 +159,6 @@ and gst_element_set_clock(). You can wait for the clock to reach a given
-
-
-This struct is used to define public information about the element. It
-describes the element, mostly for the benefit of editors.
-
-
-@longname:
-@klass:
-@description:
-@author:
-@_gst_reserved:
-
-
-
-
-
-
-@longname:
-@klass:
-@description:
-@author:
-
-
-
-
-
-
-
-@details:
-
-
The maximun number of states.
@@ -1218,160 +1187,3 @@ Sets the parent of an element.
@element:
-
-
-
-
-
-@plugin:
-@name:
-@rank:
-@type:
-@Returns:
-
-@elementname:
-
-
-
-
-
-
-
-@name:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@name:
-@Returns:
-
-
-
-
-
-
-
-@factoryname:
-@name:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@caps:
-@Returns:
-
-
-
-
-
-
-
-@factory:
-@caps:
-@Returns:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/gst/tmpl/gstelementdetails.sgml b/docs/gst/tmpl/gstelementdetails.sgml
new file mode 100644
index 0000000000..fe7582e9a9
--- /dev/null
+++ b/docs/gst/tmpl/gstelementdetails.sgml
@@ -0,0 +1,30 @@
+
+GstElementDetails
+
+
+Defines public information about a #GstElement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This struct is used to define public information about the element. It
+describes the element, mostly for the benefit of editors.
+
+
+@longname:
+@klass:
+@description:
+@author:
+@_gst_reserved:
+
diff --git a/docs/gst/tmpl/gstelementfactory.sgml b/docs/gst/tmpl/gstelementfactory.sgml
new file mode 100644
index 0000000000..17f7f8fd09
--- /dev/null
+++ b/docs/gst/tmpl/gstelementfactory.sgml
@@ -0,0 +1,213 @@
+
+GstElementFactory
+
+
+Create GstElements from a factory
+
+
+
+GstElementFactory is used to create instances of elements. A GstElementfactory
+can be added to a #GstPlugin as it is also a #GstPluginFeature.
+
+
+Use gst_element_factory_new() to create a new factory which can be added to a plugin
+with gst_plugin_add_feature().
+
+
+gst_element_factory_add_pad_template() is used to add a padtemplate to the factory.
+This function will enable the application to query for elementfactories that handle
+a specific media type.
+
+
+Use the gst_element_factory_find() and gst_element_factory_create() functions
+to create element instances or use gst_element_factory_make() as a convenient
+shortcut.
+
+
+The following code example shows you how to create a GstFileSrc element.
+
+
+
+
+ #include <gst/gst.h>
+
+ GstElement *src;
+ GstElementFactory *srcfactory;
+
+ gst_init(&argc,&argv);
+
+ srcfactory = gst_element_factory_find("filesrc");
+ g_return_if_fail(srcfactory != NULL);
+
+ src = gst_element_factory_create(srcfactory,"src");
+ g_return_if_fail(src != NULL);
+ ...
+
+
+
+An elementfactory can be assigned a rank with gst_element_factory_set_rank()
+so that the autopluggers can select a plugin more appropriatly
+
+
+
+
+#GstElement, #GstPlugin, #GstPluginFeature, #GstPadTemplate.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@plugin:
+@name:
+@rank:
+@type:
+@Returns:
+
+@elementname:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@name:
+@Returns:
+
+
+
+
+
+
+
+@factoryname:
+@name:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@caps:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@caps:
+@Returns:
+
+