dvdemux: Don't use GST_FLOW_IS_FATAL()
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 27 Aug 2010 16:09:11 +0000 (18:09 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 4 Sep 2010 12:52:11 +0000 (14:52 +0200)
ext/dv/gstdvdemux.c

index 101a7ad..0308249 100644 (file)
@@ -1735,24 +1735,21 @@ pause:
     GST_INFO_OBJECT (dvdemux, "pausing task, %s", gst_flow_get_name (ret));
     dvdemux->running = FALSE;
     gst_pad_pause_task (dvdemux->sinkpad);
-    if (GST_FLOW_IS_FATAL (ret) || ret == GST_FLOW_NOT_LINKED) {
-      if (ret == GST_FLOW_UNEXPECTED) {
-        GST_LOG_OBJECT (dvdemux, "got eos");
-        /* perform EOS logic */
-        if (dvdemux->time_segment.flags & GST_SEEK_FLAG_SEGMENT) {
-          gst_element_post_message (GST_ELEMENT (dvdemux),
-              gst_message_new_segment_done (GST_OBJECT_CAST (dvdemux),
-                  dvdemux->time_segment.format,
-                  dvdemux->time_segment.last_stop));
-        } else {
-          gst_dvdemux_push_event (dvdemux, gst_event_new_eos ());
-        }
+    if (ret == GST_FLOW_UNEXPECTED) {
+      GST_LOG_OBJECT (dvdemux, "got eos");
+      /* perform EOS logic */
+      if (dvdemux->time_segment.flags & GST_SEEK_FLAG_SEGMENT) {
+        gst_element_post_message (GST_ELEMENT (dvdemux),
+            gst_message_new_segment_done (GST_OBJECT_CAST (dvdemux),
+                dvdemux->time_segment.format, dvdemux->time_segment.last_stop));
       } else {
-        /* for fatal errors or not-linked we post an error message */
-        GST_ELEMENT_ERROR (dvdemux, STREAM, FAILED,
-            (NULL), ("streaming stopped, reason %s", gst_flow_get_name (ret)));
         gst_dvdemux_push_event (dvdemux, gst_event_new_eos ());
       }
+    } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_UNEXPECTED) {
+      /* for fatal errors or not-linked we post an error message */
+      GST_ELEMENT_ERROR (dvdemux, STREAM, FAILED,
+          (NULL), ("streaming stopped, reason %s", gst_flow_get_name (ret)));
+      gst_dvdemux_push_event (dvdemux, gst_event_new_eos ());
     }
     goto done;
   }