summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2007-04-25 15:08:22 +0000
committerTim-Philipp Müller <tim@centricular.net>2007-04-25 15:08:22 +0000
commit3f55b6e91260b55a87062fbb60e340db293b753b (patch)
treefa112ab23e4e2410e04aea1e840f6638ef2a0846
parenta7531984c36cee76a008d24c77cf48b048fcd5a3 (diff)
ext/libpng/gstpngdec.c: If we get a fatal flow return in the loop function, first post the error message and only the...
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).
-rw-r--r--ChangeLog8
-rw-r--r--ext/libpng/gstpngdec.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 05d29b06..1b0938f0 100644
--- 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):
diff --git a/ext/libpng/gstpngdec.c b/ext/libpng/gstpngdec.c
index 74c12053..e5cab832 100644
--- a/ext/libpng/gstpngdec.c
+++ b/ext/libpng/gstpngdec.c
@@ -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 ());
}
}
}