[0.11] gstreamer: baseparse: turn assert into a real error

Wim Taymans wtay at kemper.freedesktop.org
Mon Jan 2 06:42:57 PST 2012


Module: gstreamer
Branch: 0.11
Commit: 9540014d2e871eb132505ea5fd7053631d62c5ba
URL:    http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=9540014d2e871eb132505ea5fd7053631d62c5ba

Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date:   Mon Jan  2 15:39:02 2012 +0100

baseparse: turn assert into a real error

Post a real error instead of just asserting.

---

 libs/gst/base/gstbaseparse.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index b31be9d..033ef6b 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -1919,8 +1919,8 @@ gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
     last_stop = last_start + GST_BUFFER_DURATION (buffer);
 
   /* should have caps by now */
-  g_return_val_if_fail (gst_pad_has_current_caps (parse->srcpad),
-      GST_FLOW_ERROR);
+  if (!gst_pad_has_current_caps (parse->srcpad))
+    goto no_caps;
 
   /* segment adjustment magic; only if we are running the whole show */
   if (!parse->priv->passthrough && parse->segment.rate > 0.0 &&
@@ -2090,6 +2090,13 @@ gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
   gst_base_parse_frame_free (frame);
 
   return ret;
+
+  /* ERRORS */
+no_caps:
+  {
+    GST_ELEMENT_ERROR (parse, STREAM, DECODE, ("No caps set"), (NULL));
+    return GST_FLOW_ERROR;
+  }
 }
 
 



More information about the gstreamer-commits mailing list