summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-04-29 18:46:36 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-04-29 18:46:36 +0000
commitf68caad5c2e5ecf8d385ed14f17ca9946603c3d0 (patch)
tree3a3e7a3b02477c0f949968ffe29414cd08719737 /ext
parent6fbf187762d89f34495c5cdfa86125607e8fe84d (diff)
downloadgstreamer-plugins-bad-f68caad5c2e5ecf8d385ed14f17ca9946603c3d0.tar.gz
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.
Diffstat (limited to 'ext')
-rw-r--r--ext/taglib/gsttaglib.cc19
1 files changed, 16 insertions, 3 deletions
diff --git a/ext/taglib/gsttaglib.cc b/ext/taglib/gsttaglib.cc
index d47803bea..f2bc52187 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