utils: Add a function to get a string representation of GstStateChange
authorThibault Saunier <thibault.saunier@osg.samsung.com>
Wed, 14 Jun 2017 21:12:32 +0000 (17:12 -0400)
committerThibault Saunier <thibault.saunier@osg.samsung.com>
Tue, 20 Jun 2017 13:33:31 +0000 (09:33 -0400)
API:
    gst_state_change_get_name

https://bugzilla.gnome.org/show_bug.cgi?id=783798

docs/gst/gstreamer-sections.txt
gst/gstutils.c
gst/gstutils.h

index 190570b..93480cc 100644 (file)
@@ -929,6 +929,7 @@ gst_element_state_get_name
 gst_element_state_change_return_get_name
 gst_element_sync_state_with_parent
 gst_element_change_state
+gst_state_change_get_name
 
 <SUBSECTION element-messages>
 gst_element_message_full
index ca956fa..28748cf 100644 (file)
@@ -1257,6 +1257,46 @@ gst_element_state_change_return_get_name (GstStateChangeReturn state_ret)
   }
 }
 
+/**
+ * gst_state_change_get_name:
+ * @transition: a #GstStateChange to get the name of.
+ *
+ * Gets a string representing the given state transition.
+ *
+ * Returns: (transfer none): a string with the name of the state
+ *    result.
+ *
+ * Since: 1.14
+ */
+const gchar *
+gst_state_change_get_name (GstStateChange transition)
+{
+  switch (transition) {
+    case GST_STATE_CHANGE_NULL_TO_READY:
+      return "NULL->READY";
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      return "READY->PAUSED";
+    case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
+      return "PAUSED->PLAYING";
+    case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+      return "PLAYING->PAUSED";
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      return "PAUSED->READY";
+    case GST_STATE_CHANGE_READY_TO_NULL:
+      return "READY->NULL";
+    case GST_STATE_CHANGE_NULL_TO_NULL:
+      return "NULL->NULL";
+    case GST_STATE_CHANGE_READY_TO_READY:
+      return "READY->READY";
+    case GST_STATE_CHANGE_PAUSED_TO_PAUSED:
+      return "PAUSED->PAUSED";
+    case GST_STATE_CHANGE_PLAYING_TO_PLAYING:
+      return "PLAYING->PLAYING";
+  }
+
+  return "Unknown state return";
+}
+
 
 static gboolean
 gst_element_factory_can_accept_all_caps_in_direction (GstElementFactory *
index ae72c4a..1a83eb6 100644 (file)
@@ -966,6 +966,9 @@ GST_EXPORT
 const gchar *           gst_element_state_change_return_get_name (GstStateChangeReturn state_ret);
 
 GST_EXPORT
+const gchar *           gst_state_change_get_name       (GstStateChange transition);
+
+GST_EXPORT
 gboolean                gst_element_link                (GstElement *src, GstElement *dest);
 
 GST_EXPORT