diff --git a/gst/gstcaps.c b/gst/gstcaps.c
index 0eb6243..cde2f3b 100644
--- a/gst/gstcaps.c
+++ b/gst/gstcaps.c
@@ -21,9 +21,8 @@
  * SECTION:gstcaps
  * @short_description: Structure describing sets of media formats
  * @see_also: #GstStructure
- * @see_also: #GstMiniObject
  *
- * Caps (capabilities) are lightweight, reference-counted objects describing media types.
+ * Caps (capabilities) are lighweight refcounted objects describing media types.
  * They are composed of an array of #GstStructure.
  *
  * Caps are exposed on #GstPadTemplate to describe all possible types a
@@ -34,7 +33,7 @@
  * function. This function describes the possible types that the pad can
  * handle or produce at runtime.
  *
- * Caps are also attached to buffers to describe the content of the data
+ * Caps are also attached to buffers to describe to content of the data
  * pointed to by the buffer with gst_buffer_set_caps(). Caps attached to
  * a #GstBuffer allow for format negotiation upstream and downstream.
  *
@@ -45,7 +44,7 @@
  *  <programlisting>
  *  GstCaps *caps;
  *  caps = gst_caps_new_simple ("video/x-raw",
- *       "format", G_TYPE_STRING, "I420",
+ *       "format", G_TYPE_STRING, "I420"),
  *       "framerate", GST_TYPE_FRACTION, 25, 1,
  *       "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1,
  *       "width", G_TYPE_INT, 320,
@@ -61,7 +60,7 @@
  * Various methods exist to work with the media types such as subtracting
  * or intersecting.
  *
- * Last reviewed on 2011-9-14 (0.11)
+ * Last reviewed on 2007-02-13 (0.10.10)
  */
 
 #ifdef HAVE_CONFIG_H
@@ -155,7 +154,7 @@ _gst_caps_free (GstCaps * caps)
   GstStructure *structure;
   guint i, len;
 
-  /* The refcount must be 0, but since we are only called by gst_caps_unref,
+  /* The refcount must be 0, but since we're only called by gst_caps_unref,
    * don't bother testing. */
   len = GST_CAPS_LEN (caps);
   /* This can be used to get statistics about caps sizes */
@@ -184,7 +183,7 @@ gst_caps_init (GstCaps * caps, gsize size)
 
   /* the 32 has been determined by logging caps sizes in _gst_caps_free
    * but g_ptr_array uses 16 anyway if it expands once, so this does not help
-   * in practice
+   * in practise
    * GST_CAPS_ARRAY (caps) = g_ptr_array_sized_new (32);
    */
   caps->priv = g_ptr_array_new ();
@@ -195,7 +194,7 @@ gst_caps_init (GstCaps * caps, gsize size)
  *
  * Creates a new #GstCaps that is empty.  That is, the returned
  * #GstCaps contains no media formats.
- * Caller is responsible for dereferencing the returned caps.
+ * Caller is responsible for unreffing the returned caps.
  *
  * Returns: (transfer full): the new #GstCaps
  */
@@ -242,7 +241,7 @@ gst_caps_new_any (void)
  * Creates a new #GstCaps that contains one #GstStructure.  The
  * structure is defined by the arguments, which have the same format
  * as gst_structure_new().
- * Caller is responsible for dereferencing the returned caps.
+ * Caller is responsible for unreffing the returned caps.
  *
  * Returns: (transfer full): the new #GstCaps
  */
@@ -259,11 +258,11 @@ gst_caps_new_simple (const char *media_type, const char *fieldname, ...)
   structure = gst_structure_new_valist (media_type, fieldname, var_args);
   va_end (var_args);
 
-  if (structure) {
+  if (structure)
     gst_caps_append_structure_unchecked (caps, structure);
-  } else {
+  else
     gst_caps_replace (&caps, NULL);
-  }
+
   return caps;
 }
 
@@ -335,8 +334,8 @@ gst_static_caps_get_type (void)
  *
  * Converts a #GstStaticCaps to a #GstCaps.
  *
- * Returns: (transfer full): a pointer to the #GstCaps. Dereference after usage.
- *     Since the core holds an additional reference to the returned caps,
+ * Returns: (transfer full): a pointer to the #GstCaps. Unref after usage.
+ *     Since the core holds an additional ref to the returned caps,
  *     use gst_caps_make_writable() on the returned caps to modify it.
  */
 GstCaps *
@@ -350,7 +349,7 @@ gst_static_caps_get (GstStaticCaps * static_caps)
 
   /* refcount is 0 when we need to convert */
   if (G_UNLIKELY (GST_CAPS_REFCOUNT_VALUE (caps) == 0)) {
-    const gchar *string;
+    const char *string;
     GstCaps temp;
 
     G_LOCK (static_caps_lock);
@@ -443,7 +442,7 @@ gst_caps_remove_and_get_structure (GstCaps * caps, guint idx)
  * @caps: the #GstCaps to retrieve from
  * @index: Index of the structure to retrieve
  *
- * Retrieves the structure with the given index from the list of structures
+ * Retrieves the stucture with the given index from the list of structures
  * contained in @caps. The caller becomes the owner of the returned structure.
  *
  * Returns: (transfer full): a pointer to the #GstStructure corresponding
@@ -607,7 +606,7 @@ gst_caps_merge_structure (GstCaps * caps, GstStructure * structure)
 
   if (G_LIKELY (structure)) {
     GstStructure *structure1;
-    guint i;
+    int i;
     gboolean unique = TRUE;
 
     /* check each structure */
@@ -778,7 +777,7 @@ gst_caps_set_simple_valist (GstCaps * caps, const char *field, va_list varargs)
 
   while (field) {
     GType type;
-    gchar *err;
+    char *err;
 
     type = va_arg (varargs, GType);
 
@@ -1099,7 +1098,7 @@ gst_caps_can_intersect (const GstCaps * caps1, const GstCaps * caps2)
    * much better than a simple loop.
    *
    * This algorithm zigzags over the caps structures as demonstrated in
-   * the following matrix:
+   * the folowing matrix:
    *
    *          caps1                              0  1  2  3
    *       +-------------     total distance:  +-------------
@@ -1171,7 +1170,7 @@ gst_caps_intersect_zig_zag (const GstCaps * caps1, const GstCaps * caps2)
    * much better than a simple loop.
    *
    * This algorithm zigzags over the caps structures as demonstrated in
-   * the following matrix:
+   * the folowing matrix:
    *
    *          caps1
    *       +-------------
@@ -1291,7 +1290,7 @@ gst_caps_intersect_full (const GstCaps * caps1, const GstCaps * caps2,
       return gst_caps_intersect_first (caps1, caps2);
     default:
       g_warning ("Unknown caps intersect mode: %d", mode);
-      /* fall-through */
+      /* fallthrough */
     case GST_CAPS_INTERSECT_ZIG_ZAG:
       return gst_caps_intersect_zig_zag (caps1, caps2);
   }
@@ -1513,8 +1512,8 @@ gst_caps_union (const GstCaps * caps1, const GstCaps * caps2)
   GstCaps *dest2;
 
   /* NULL pointers are no correct GstCaps */
-  g_return_val_if_fail (GST_IS_CAPS (caps1), NULL);
-  g_return_val_if_fail (GST_IS_CAPS (caps2), NULL);
+  g_return_val_if_fail (caps1 != NULL, NULL);
+  g_return_val_if_fail (caps2 != NULL, NULL);
 
   if (CAPS_IS_EMPTY (caps1))
     return _gst_caps_copy (caps2);
@@ -1535,7 +1534,7 @@ gst_caps_union (const GstCaps * caps1, const GstCaps * caps2)
 
 /* normalize/simplify operations */
 
-static typedef struct _NormalizeForeach
+typedef struct _NormalizeForeach
 {
   GstCaps *caps;
   GstStructure *structure;
@@ -1732,7 +1731,7 @@ gboolean
 gst_caps_do_simplify (GstCaps * caps)
 {
   GstStructure *simplify, *compare, *result = NULL;
-  guint i, j, start;
+  gint i, j, start;
   gboolean changed = FALSE;
 
   g_return_val_if_fail (caps != NULL, FALSE);
@@ -1814,7 +1813,7 @@ gst_caps_fixate (GstCaps * caps)
  * |[
  * GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
  * ]|
- * This prints the caps in human readable form.
+ * This prints the caps in human readble form.
  *
  * Returns: (transfer full): a newly allocated string representing @caps.
  */
@@ -1939,6 +1938,6 @@ gst_caps_transform_to_string (const GValue * src_value, GValue * dest_value)
   g_return_if_fail (G_VALUE_HOLDS (dest_value, G_TYPE_STRING)
       || G_VALUE_HOLDS (dest_value, G_TYPE_POINTER));
 
-  g_value_take_string (dest_value,
-      gst_caps_to_string (gst_value_get_caps (src_value)));
+  dest_value->data[0].v_pointer =
+      gst_caps_to_string (src_value->data[0].v_pointer);
 }
