From f68caad5c2e5ecf8d385ed14f17ca9946603c3d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 29 Apr 2006 18:46:36 +0000 Subject: ext/taglib/gsttaglib.cc: Post an error message on the bus in the (extremely unlikely) case of an error. Original commit message from CVS: * ext/taglib/gsttaglib.cc: Post an error message on the bus in the (extremely unlikely) case of an error. --- ChangeLog | 6 ++++++ ext/taglib/gsttaglib.cc | 19 ++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d818657f..649113c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-04-29 Tim-Philipp Müller + + * ext/taglib/gsttaglib.cc: + Post an error message on the bus in the (extremely unlikely) + case of an error. + 2006-04-29 Tim-Philipp Müller * ext/taglib/Makefile.am: diff --git a/ext/taglib/gsttaglib.cc b/ext/taglib/gsttaglib.cc index d47803be..f2bc5218 100644 --- a/ext/taglib/gsttaglib.cc +++ b/ext/taglib/gsttaglib.cc @@ -189,12 +189,14 @@ gst_tag_lib_mux_render_tag (GstTagLibMux * mux) no_vfunc: { - return NULL; /* FIXME */ + GST_ERROR_OBJECT (mux, "Subclass does not implement render_tag vfunc!"); + return NULL; } render_error: { - return NULL; /* FIXME */ + GST_ERROR_OBJECT (mux, "Failed to render tag"); + return NULL; } } @@ -231,9 +233,13 @@ gst_tag_lib_mux_chain (GstPad * pad, GstBuffer * buffer) if (mux->render_tag) { GstFlowReturn ret; + GstBuffer *tag_buffer; GST_INFO_OBJECT (mux, "Adding tags to stream"); - ret = gst_pad_push (mux->srcpad, gst_tag_lib_mux_render_tag (mux)); + tag_buffer = gst_tag_lib_mux_render_tag (mux); + if (tag_buffer == NULL) + goto no_tag_buffer; + ret = gst_pad_push (mux->srcpad, tag_buffer); if (ret != GST_FLOW_OK) { GST_DEBUG_OBJECT (mux, "flow: %s", gst_flow_get_name (ret)); gst_buffer_unref (buffer); @@ -265,6 +271,13 @@ gst_tag_lib_mux_chain (GstPad * pad, GstBuffer * buffer) gst_buffer_set_caps (buffer, GST_PAD_CAPS (mux->srcpad)); return gst_pad_push (mux->srcpad, buffer); + +/* ERRORS */ +no_tag_buffer: + { + GST_ELEMENT_ERROR (mux, LIBRARY, ENCODE, (NULL), (NULL)); + return GST_FLOW_ERROR; + } } static gboolean -- cgit v1.2.1