ext/libpng/gstpngdec.c: If we get a fatal flow return in the loop function, first...
authorTim-Philipp Müller <tim@centricular.net>
Wed, 25 Apr 2007 15:08:22 +0000 (15:08 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Wed, 25 Apr 2007 15:08:22 +0000 (15:08 +0000)
Original commit message from CVS:
* ext/libpng/gstpngdec.c: (gst_pngdec_task):
If we get a fatal flow return in the loop function, first post the
error message and only then send the EOS event downstream, otherwise
applications might get an eos message before the error message and
think everything was ok (related to #429319).

ChangeLog
ext/libpng/gstpngdec.c

index 05d29b0..1b0938f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-04-25  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * ext/libpng/gstpngdec.c: (gst_pngdec_task):
+         If we get a fatal flow return in the loop function, first post the
+         error message and only then send the EOS event downstream, otherwise
+         applications might get an eos message before the error message and
+         think everything was ok (related to #429319).
+
 2007-04-25  Wim Taymans  <wim@fluendo.com>
 
        * gst/rtsp/rtspconnection.c: (rtsp_connection_receive):
index 74c1205..e5cab83 100644 (file)
@@ -508,10 +508,10 @@ pause:
     GST_LOG_OBJECT (pngdec, "pausing task, reason %s", gst_flow_get_name (ret));
     gst_pad_pause_task (pngdec->sinkpad);
     if (GST_FLOW_IS_FATAL (ret)) {
-      gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
       GST_ELEMENT_ERROR (pngdec, STREAM, FAILED,
           (_("Internal data stream error.")),
           ("stream stopped, reason %s", gst_flow_get_name (ret)));
+      gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
     }
   }
 }