sfsink: Don't use GST_FLOW_IS_FATAL()
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 27 Aug 2010 16:56:23 +0000 (18:56 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Tue, 21 Sep 2010 10:26:36 +0000 (12:26 +0200)
ext/sndfile/gstsfsink.c

index 2bdb2fe35ae328d4113ab798f4de62691fb4d77c..4ac979b04abd025bcfa336bdf9fb227016de496e 100644 (file)
@@ -428,14 +428,13 @@ paused:
         gst_flow_get_name (result));
     gst_pad_pause_task (pad);
     /* fatal errors and NOT_LINKED cause EOS */
-    if (GST_FLOW_IS_FATAL (result) || result == GST_FLOW_NOT_LINKED) {
+    if (result == GST_FLOW_UNEXPECTED) {
+      gst_pad_send_event (pad, gst_event_new_eos ());
+    } else if (result < GST_FLOW_UNEXPECTED || result == GST_FLOW_NOT_LINKED) {
+      GST_ELEMENT_ERROR (basesink, STREAM, FAILED,
+          (_("Internal data stream error.")),
+          ("stream stopped, reason %s", gst_flow_get_name (result)));
       gst_pad_send_event (pad, gst_event_new_eos ());
-      /* EOS does not cause an ERROR message */
-      if (result != GST_FLOW_UNEXPECTED) {
-        GST_ELEMENT_ERROR (basesink, STREAM, FAILED,
-            (_("Internal data stream error.")),
-            ("stream stopped, reason %s", gst_flow_get_name (result)));
-      }
     }
     gst_object_unref (this);
     return;