diff --git a/ChangeLog b/ChangeLog index 05d29b0677..1b0938f0c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-04-25 Tim-Philipp Müller + + * 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 * gst/rtsp/rtspconnection.c: (rtsp_connection_receive): diff --git a/ext/libpng/gstpngdec.c b/ext/libpng/gstpngdec.c index 74c120537d..e5cab832a7 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 ()); } } }