docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE
[platform/upstream/gstreamer.git] / gst / gstelement.c
index a46cab5..25870f5 100644 (file)
@@ -43,8 +43,7 @@
  *
  * An existing pad of an element can be retrieved by name with
  * gst_element_get_static_pad(). A new dynamic pad can be created using
- * gst_element_request_pad() with a #GstPadTemplate or 
- * gst_element_get_request_pad() with the template name such as "src_\%u".
+ * gst_element_request_pad() with a #GstPadTemplate.
  * An iterator of all pads can be retrieved with gst_element_iterate_pads().
  *
  * Elements can be linked through their pads.
  * #GST_ELEMENT_FLAG_REQUIRE_CLOCK() flag is set, a clock should be set on the
  * element with gst_element_set_clock().
  *
- * Note that clock slection and distribution is normally handled by the
+ * Note that clock selection and distribution is normally handled by the
  * toplevel #GstPipeline so the clock functions are only to be used in very
  * specific situations.
- *
- * Last reviewed on 2012-03-28 (0.11.3)
  */
 
 #include "gst_private.h"
@@ -97,7 +94,9 @@
 #include "gst-i18n-lib.h"
 #include "glib-compat-private.h"
 
+#ifndef GST_DISABLE_GST_DEBUG
 #include "printf/printf.h"
+#endif
 
 /* Element signals and args */
 enum
@@ -134,8 +133,6 @@ static gboolean gst_element_set_clock_func (GstElement * element,
 static void gst_element_set_bus_func (GstElement * element, GstBus * bus);
 static gboolean gst_element_post_message_default (GstElement * element,
     GstMessage * message);
-static void gst_element_set_context_func (GstElement * element,
-    GstContext * context);
 
 static gboolean gst_element_default_send_event (GstElement * element,
     GstEvent * event);
@@ -242,7 +239,6 @@ gst_element_class_init (GstElementClass * klass)
   klass->send_event = GST_DEBUG_FUNCPTR (gst_element_default_send_event);
   klass->numpadtemplates = 0;
   klass->post_message = GST_DEBUG_FUNCPTR (gst_element_post_message_default);
-  klass->set_context = GST_DEBUG_FUNCPTR (gst_element_set_context_func);
 
   klass->elementfactory = NULL;
 }
@@ -309,10 +305,10 @@ gst_element_init (GstElement * element)
  * @pad: the #GstPad to release.
  *
  * Makes the element free the previously requested pad as obtained
- * with gst_element_get_request_pad().
+ * with gst_element_request_pad().
  *
  * This does not unref the pad. If the pad was created by using
- * gst_element_get_request_pad(), gst_element_release_request_pad() needs to be
+ * gst_element_request_pad(), gst_element_release_request_pad() needs to be
  * followed by gst_object_unref() to free the @pad.
  *
  * MT safe.
@@ -736,7 +732,7 @@ no_direction:
  *
  * This function is used by plugin developers and should not be used
  * by applications. Pads that were dynamically requested from elements
- * with gst_element_get_request_pad() should be released with the
+ * with gst_element_request_pad() should be released with the
  * gst_element_release_request_pad() function instead.
  *
  * Pads are not automatically deactivated so elements should perform the needed
@@ -799,6 +795,7 @@ gst_element_remove_pad (GstElement * element, GstPad * pad)
       break;
   }
   element->pads = g_list_remove (element->pads, pad);
+  GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_NEED_PARENT);
   element->numpads--;
   element->pads_cookie++;
   GST_OBJECT_UNLOCK (element);
@@ -1536,7 +1533,7 @@ gst_element_default_send_event (GstElement * element, GstEvent * event)
  * event handler, the event will be pushed on a random linked sink pad for
  * upstream events or a random linked source pad for downstream events.
  *
- * This function takes owership of the provided event so you should
+ * This function takes ownership of the provided event so you should
  * gst_event_ref() it if you want to reuse the event after this call.
  *
  * MT safe.
@@ -1644,7 +1641,7 @@ gst_element_default_query (GstElement * element, GstQuery * query)
  *
  * Please note that some queries might need a running pipeline to work.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  *
  * MT safe.
  */
@@ -1876,7 +1873,7 @@ void gst_element_message_full
  *
  * MT safe.
  *
- * Returns: TRUE, if the element's state is locked.
+ * Returns: %TRUE, if the element's state is locked.
  */
 gboolean
 gst_element_is_locked_state (GstElement * element)
@@ -1895,14 +1892,14 @@ gst_element_is_locked_state (GstElement * element)
 /**
  * gst_element_set_locked_state:
  * @element: a #GstElement
- * @locked_state: TRUE to lock the element's state
+ * @locked_state: %TRUE to lock the element's state
  *
  * Locks the state of an element, so state changes of the parent don't affect
  * this element anymore.
  *
  * MT safe.
  *
- * Returns: TRUE if the state was changed, FALSE if bad parameters were given
+ * Returns: %TRUE if the state was changed, %FALSE if bad parameters were given
  * or the elements state-locking needed no change.
  */
 gboolean
@@ -1947,9 +1944,9 @@ was_ok:
  * @element: a #GstElement.
  *
  * Tries to change the state of the element to the same as its parent.
- * If this function returns FALSE, the state of element is undefined.
+ * If this function returns %FALSE, the state of element is undefined.
  *
- * Returns: TRUE, if the element's state could be synced to the parent's state.
+ * Returns: %TRUE, if the element's state could be synced to the parent's state.
  *
  * MT safe.
  */
@@ -2913,7 +2910,6 @@ gst_element_dispose (GObject * object)
   bus_p = &element->bus;
   gst_object_replace ((GstObject **) clock_p, NULL);
   gst_object_replace ((GstObject **) bus_p, NULL);
-  gst_context_replace (&element->context, NULL);
   GST_OBJECT_UNLOCK (element);
 
   GST_CAT_INFO_OBJECT (GST_CAT_REFCOUNTING, element, "parent class dispose");
@@ -3024,14 +3020,6 @@ gst_element_get_bus (GstElement * element)
   return result;
 }
 
-static void
-gst_element_set_context_func (GstElement * element, GstContext * context)
-{
-  GST_OBJECT_LOCK (element);
-  gst_context_replace (&element->context, context);
-  GST_OBJECT_UNLOCK (element);
-}
-
 /**
  * gst_element_set_context:
  * @element: a #GstElement to set the context of.
@@ -3057,28 +3045,3 @@ gst_element_set_context (GstElement * element, GstContext * context)
   if (oclass->set_context)
     oclass->set_context (element, context);
 }
-
-/**
- * gst_element_get_context:
- * @element: a #GstElement to get the context from.
- *
- * Gets the current context of the element.
- *
- * MT safe.
- *
- * Returns: (transfer full): The current context of the element
- */
-GstContext *
-gst_element_get_context (GstElement * element)
-{
-  GstContext *context = NULL;
-
-  g_return_val_if_fail (GST_IS_ELEMENT (element), NULL);
-
-  GST_OBJECT_LOCK (element);
-  if (element->context)
-    context = gst_context_ref (element->context);
-  GST_OBJECT_UNLOCK (element);
-
-  return context;
-}