[gst-cvs] gst-plugins-bad: mimic: Use GST_ELEMENT_ERROR when returning a flow error
Olivier Crête
tester at kemper.freedesktop.org
Wed Jun 2 18:40:19 PDT 2010
Module: gst-plugins-bad
Branch: master
Commit: a5b3b27d70cde9fcca6f3ef36eb725787c980291
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=a5b3b27d70cde9fcca6f3ef36eb725787c980291
Author: Olivier Crête <olivier.crete at collabora.co.uk>
Date: Mon Oct 12 19:16:26 2009 -0400
mimic: Use GST_ELEMENT_ERROR when returning a flow error
---
ext/mimic/gstmimdec.c | 21 +++++++++++++--------
ext/mimic/gstmimenc.c | 12 +++++++-----
2 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/ext/mimic/gstmimdec.c b/ext/mimic/gstmimdec.c
index 0ab7a0f..28f3e89 100644
--- a/ext/mimic/gstmimdec.c
+++ b/ext/mimic/gstmimdec.c
@@ -174,9 +174,9 @@ gst_mim_dec_chain (GstPad * pad, GstBuffer * in)
header = (guchar *) gst_adapter_peek (mimdec->adapter, 24);
header_size = header[0];
if (header_size != 24) {
- GST_WARNING_OBJECT (mimdec,
- "invalid frame: header size %d incorrect", header_size);
gst_adapter_flush (mimdec->adapter, 24);
+ GST_ELEMENT_ERROR (mimdec, STREAM, DECODE, (NULL),
+ ("invalid frame: header size %d incorrect", header_size));
res = GST_FLOW_ERROR;
goto out;
}
@@ -189,9 +189,10 @@ gst_mim_dec_chain (GstPad * pad, GstBuffer * in)
fourcc = GUINT32_FROM_LE (*((guint32 *) (header + 12)));
if (GST_MAKE_FOURCC ('M', 'L', '2', '0') != fourcc) {
- GST_WARNING_OBJECT (mimdec, "invalid frame: unknown FOURCC code"
- " %X (%" GST_FOURCC_FORMAT ")", fourcc, GST_FOURCC_ARGS (fourcc));
gst_adapter_flush (mimdec->adapter, 24);
+ GST_ELEMENT_ERROR (mimdec, STREAM, WRONG_TYPE, (NULL),
+ ("invalid frame: unknown FOURCC code %X (%" GST_FOURCC_FORMAT ")",
+ fourcc, GST_FOURCC_ARGS (fourcc)));
res = GST_FLOW_ERROR;
goto out;
}
@@ -225,34 +226,35 @@ gst_mim_dec_chain (GstPad * pad, GstBuffer * in)
mimdec->dec = mimic_open ();
if (mimdec->dec == NULL) {
- GST_WARNING_OBJECT (mimdec, "mimic_open error\n");
gst_adapter_flush (mimdec->adapter, mimdec->payload_size);
mimdec->have_header = FALSE;
+ GST_ELEMENT_ERROR (mimdec, LIBRARY, INIT, (NULL), ("mimic_open error"));
res = GST_FLOW_ERROR;
goto out;
}
if (!mimic_decoder_init (mimdec->dec, frame_body)) {
- GST_WARNING_OBJECT (mimdec, "mimic_decoder_init error\n");
mimic_close (mimdec->dec);
mimdec->dec = NULL;
gst_adapter_flush (mimdec->adapter, mimdec->payload_size);
mimdec->have_header = FALSE;
+ GST_ELEMENT_ERROR (mimdec, LIBRARY, INIT, (NULL),
+ ("mimic_decoder_init error"));
res = GST_FLOW_ERROR;
goto out;
}
if (!mimic_get_property (mimdec->dec, "buffer_size",
&mimdec->buffer_size)) {
- GST_WARNING_OBJECT (mimdec,
- "mimic_get_property('buffer_size') error\n");
mimic_close (mimdec->dec);
mimdec->dec = NULL;
gst_adapter_flush (mimdec->adapter, mimdec->payload_size);
mimdec->have_header = FALSE;
+ GST_ELEMENT_ERROR (mimdec, LIBRARY, INIT, (NULL),
+ ("mimic_get_property('buffer_size') error"));
res = GST_FLOW_ERROR;
goto out;
}
@@ -290,6 +292,8 @@ gst_mim_dec_chain (GstPad * pad, GstBuffer * in)
mimdec->have_header = FALSE;
gst_buffer_unref (out_buf);
+ GST_ELEMENT_ERROR (mimdec, STREAM, DECODE, (NULL),
+ ("mimic_decode_frame error"));
res = GST_FLOW_ERROR;
goto out;
}
@@ -328,6 +332,7 @@ out:
gst_object_unref (mimdec);
return res;
+
}
static GstStateChangeReturn
diff --git a/ext/mimic/gstmimenc.c b/ext/mimic/gstmimenc.c
index 90d34bd..1bfac28 100644
--- a/ext/mimic/gstmimenc.c
+++ b/ext/mimic/gstmimenc.c
@@ -279,23 +279,25 @@ gst_mim_enc_chain (GstPad * pad, GstBuffer * in)
if (mimenc->enc == NULL) {
mimenc->enc = mimic_open ();
if (mimenc->enc == NULL) {
- GST_WARNING_OBJECT (mimenc, "mimic_open error\n");
+ GST_ELEMENT_ERROR (mimenc, LIBRARY, INIT, (NULL), ("mimic_open error"));
res = GST_FLOW_ERROR;
goto out_unlock;
}
if (!mimic_encoder_init (mimenc->enc, mimenc->res)) {
- GST_WARNING_OBJECT (mimenc, "mimic_encoder_init error\n");
mimic_close (mimenc->enc);
mimenc->enc = NULL;
+ GST_ELEMENT_ERROR (mimenc, LIBRARY, INIT, (NULL),
+ ("mimic_encoder_init error"));
res = GST_FLOW_ERROR;
goto out_unlock;
}
if (!mimic_get_property (mimenc->enc, "buffer_size", &mimenc->buffer_size)) {
- GST_WARNING_OBJECT (mimenc, "mimic_get_property('buffer_size') error\n");
mimic_close (mimenc->enc);
mimenc->enc = NULL;
+ GST_ELEMENT_ERROR (mimenc, LIBRARY, INIT, (NULL),
+ ("mimic_get_property(buffer_size) error"));
res = GST_FLOW_ERROR;
goto out_unlock;
}
@@ -313,9 +315,10 @@ gst_mim_enc_chain (GstPad * pad, GstBuffer * in)
keyframe = (mimenc->frames % MAX_INTERFRAMES) == 0 ? TRUE : FALSE;
if (!mimic_encode_frame (mimenc->enc, data, GST_BUFFER_DATA (out_buf),
&buffer_size, keyframe)) {
- GST_WARNING_OBJECT (mimenc, "mimic_encode_frame error\n");
gst_buffer_unref (out_buf);
gst_buffer_unref (buf);
+ GST_ELEMENT_ERROR (mimenc, STREAM, ENCODE, (NULL),
+ ("mimic_encode_frame error"));
res = GST_FLOW_ERROR;
goto out_unlock;
}
@@ -366,7 +369,6 @@ out:
out_unlock:
GST_OBJECT_UNLOCK (mimenc);
goto out;
-
}
static GstBuffer *
More information about the Gstreamer-commits
mailing list