gst/base/gstbasesrc.c: Handle state change failure more correctly.
authorWim Taymans <wim.taymans@gmail.com>
Mon, 19 Sep 2005 14:55:26 +0000 (14:55 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 19 Sep 2005 14:55:26 +0000 (14:55 +0000)
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_change_state):
Handle state change failure more correctly.

ChangeLog
gst/base/gstbasesrc.c
libs/gst/base/gstbasesrc.c

index 378f764..1510cc9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-19  Wim Taymans  <wim@fluendo.com>
+
+       * gst/base/gstbasesrc.c: (gst_base_src_change_state):
+       Handle state change failure more correctly.
+
 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * check/Makefile.am:
index 12f2917..15018e9 100644 (file)
@@ -1077,10 +1077,8 @@ gst_base_src_change_state (GstElement * element, GstStateChange transition)
 
   if ((presult =
           GST_ELEMENT_CLASS (parent_class)->change_state (element,
-              transition)) != GST_STATE_CHANGE_SUCCESS) {
-    gst_base_src_stop (basesrc);
-    return presult;
-  }
+              transition)) == GST_STATE_CHANGE_FAILURE)
+    goto failure;
 
   switch (transition) {
     case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
@@ -1102,4 +1100,11 @@ gst_base_src_change_state (GstElement * element, GstStateChange transition)
   }
 
   return result;
+
+  /* ERRORS */
+failure:
+  {
+    gst_base_src_stop (basesrc);
+    return presult;
+  }
 }
index 12f2917..15018e9 100644 (file)
@@ -1077,10 +1077,8 @@ gst_base_src_change_state (GstElement * element, GstStateChange transition)
 
   if ((presult =
           GST_ELEMENT_CLASS (parent_class)->change_state (element,
-              transition)) != GST_STATE_CHANGE_SUCCESS) {
-    gst_base_src_stop (basesrc);
-    return presult;
-  }
+              transition)) == GST_STATE_CHANGE_FAILURE)
+    goto failure;
 
   switch (transition) {
     case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
@@ -1102,4 +1100,11 @@ gst_base_src_change_state (GstElement * element, GstStateChange transition)
   }
 
   return result;
+
+  /* ERRORS */
+failure:
+  {
+    gst_base_src_stop (basesrc);
+    return presult;
+  }
 }