diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-08-27 17:32:09 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-09-04 14:52:09 +0200 |
commit | 1ce0b2dfc711d864043beab1c861f50e3f409661 (patch) | |
tree | 38071b1d489a0f5be5a62e128e96a219d43bfb28 | |
parent | 37ee281d133eebb36163f77d04c1451f2bbfd211 (diff) |
avidemux: Don't use GST_FLOW_IS_FATAL()
And document why wrong-state doesn't need an error message.
-rw-r--r-- | gst/avi/gstavidemux.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index 1b93f0949..208d8d765 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -5109,13 +5109,13 @@ gst_avi_demux_loop (GstPad * pad) return; /* ERRORS */ -pause: - GST_LOG_OBJECT (avi, "pausing task, reason %s", gst_flow_get_name (res)); - avi->segment_running = FALSE; - gst_pad_pause_task (avi->sinkpad); +pause:{ + + gboolean push_eos = FALSE; + GST_LOG_OBJECT (avi, "pausing task, reason %s", gst_flow_get_name (res)); + avi->segment_running = FALSE; + gst_pad_pause_task (avi->sinkpad); - if (GST_FLOW_IS_FATAL (res) || (res == GST_FLOW_NOT_LINKED)) { - gboolean push_eos = TRUE; if (res == GST_FLOW_UNEXPECTED) { /* handle end-of-stream/segment */ @@ -5131,13 +5131,17 @@ pause: (GST_ELEMENT_CAST (avi), gst_message_new_segment_done (GST_OBJECT_CAST (avi), GST_FORMAT_TIME, stop)); - push_eos = FALSE; + } else { + push_eos = TRUE; } - } else { - /* for fatal errors we post an error message */ + } else if (res == GST_FLOW_NOT_LINKED || res < GST_FLOW_UNEXPECTED) { + /* for fatal errors we post an error message, wrong-state is + * not fatal because it happens due to flushes and only means + * that we should stop now. */ GST_ELEMENT_ERROR (avi, STREAM, FAILED, (_("Internal data stream error.")), ("streaming stopped, reason %s", gst_flow_get_name (res))); + push_eos = TRUE; } if (push_eos) { GST_INFO_OBJECT (avi, "sending eos"); |