diff --git a/ChangeLog b/ChangeLog index 1b9d383b71..d670559931 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-07-14 Wim Taymans + + * gst/base/gstbasesrc.c: (gst_base_src_loop): + Post error messages on errors. + 2005-07-14 Wim Taymans * gst/gstcaps.c: (gst_caps_do_simplify): diff --git a/gst/base/gstbasesrc.c b/gst/base/gstbasesrc.c index cb05690387..429dc301c5 100644 --- a/gst/base/gstbasesrc.c +++ b/gst/base/gstbasesrc.c @@ -678,11 +678,20 @@ pause: { GST_DEBUG_OBJECT (src, "pausing task"); gst_pad_pause_task (pad); + if (GST_FLOW_IS_FATAL (ret)) { + /* for fatal errors we post an error message */ + GST_ELEMENT_ERROR (src, STREAM, STOPPED, + ("streaming stopped, reason %d", ret), + ("streaming stopped, reason %d", ret)); + gst_pad_push_event (pad, gst_event_new (GST_EVENT_EOS)); + } return; } error: { - GST_DEBUG_OBJECT (src, "got error, pausing task"); + GST_ELEMENT_ERROR (src, STREAM, STOPPED, + ("internal: element returned NULL buffer"), + ("internal: element returned NULL buffer")); gst_pad_pause_task (pad); gst_pad_push_event (pad, gst_event_new (GST_EVENT_EOS)); return; diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index cb05690387..429dc301c5 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -678,11 +678,20 @@ pause: { GST_DEBUG_OBJECT (src, "pausing task"); gst_pad_pause_task (pad); + if (GST_FLOW_IS_FATAL (ret)) { + /* for fatal errors we post an error message */ + GST_ELEMENT_ERROR (src, STREAM, STOPPED, + ("streaming stopped, reason %d", ret), + ("streaming stopped, reason %d", ret)); + gst_pad_push_event (pad, gst_event_new (GST_EVENT_EOS)); + } return; } error: { - GST_DEBUG_OBJECT (src, "got error, pausing task"); + GST_ELEMENT_ERROR (src, STREAM, STOPPED, + ("internal: element returned NULL buffer"), + ("internal: element returned NULL buffer")); gst_pad_pause_task (pad); gst_pad_push_event (pad, gst_event_new (GST_EVENT_EOS)); return;