pngdec: Don't use GST_FLOW_IS_FATAL()
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 27 Aug 2010 16:13:21 +0000 (18:13 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 4 Sep 2010 12:52:11 +0000 (14:52 +0200)
And don't post an error message if downstream returns UNEXPECTED.

ext/libpng/gstpngdec.c

index 7cd8c56..ae9460d 100644 (file)
@@ -335,7 +335,9 @@ pause:
     GST_INFO_OBJECT (pngdec, "pausing task, reason %s",
         gst_flow_get_name (ret));
     gst_pad_pause_task (pngdec->sinkpad);
-    if (GST_FLOW_IS_FATAL (ret) || ret == GST_FLOW_NOT_LINKED) {
+    if (ret == GST_FLOW_UNEXPECTED) {
+      gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
+    } else if (ret < GST_FLOW_UNEXPECTED || ret == GST_FLOW_NOT_LINKED) {
       GST_ELEMENT_ERROR (pngdec, STREAM, FAILED,
           (_("Internal data stream error.")),
           ("stream stopped, reason %s", gst_flow_get_name (ret)));
@@ -544,7 +546,9 @@ pause:
     GST_INFO_OBJECT (pngdec, "pausing task, reason %s",
         gst_flow_get_name (ret));
     gst_pad_pause_task (pngdec->sinkpad);
-    if (GST_FLOW_IS_FATAL (ret) || ret == GST_FLOW_NOT_LINKED) {
+    if (ret == GST_FLOW_UNEXPECTED) {
+      gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
+    } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_UNEXPECTED) {
       GST_ELEMENT_ERROR (pngdec, STREAM, FAILED,
           (_("Internal data stream error.")),
           ("stream stopped, reason %s", gst_flow_get_name (ret)));