From: Wim Taymans Date: Mon, 2 Jan 2012 14:39:58 +0000 (+0100) Subject: audioencoder: turn assert into a real error X-Git-Tag: 1.19.3~511^2~7001 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9eaf17eae5a6649acf867668285dd65e9627422;p=platform%2Fupstream%2Fgstreamer.git audioencoder: turn assert into a real error Post a real error instead of just asserting. Fixes a unit test. --- diff --git a/gst-libs/gst/audio/gstaudioencoder.c b/gst-libs/gst/audio/gstaudioencoder.c index bdce4ca..d4c387a 100644 --- a/gst-libs/gst/audio/gstaudioencoder.c +++ b/gst-libs/gst/audio/gstaudioencoder.c @@ -489,12 +489,14 @@ gst_audio_encoder_finish_frame (GstAudioEncoder * enc, GstBuffer * buf, priv = enc->priv; ctx = &enc->priv->ctx; - /* subclass should know what it is producing by now */ - g_return_val_if_fail (gst_pad_has_current_caps (enc->srcpad), GST_FLOW_ERROR); /* subclass should not hand us no data */ g_return_val_if_fail (buf == NULL || gst_buffer_get_size (buf) > 0, GST_FLOW_ERROR); + /* subclass should know what it is producing by now */ + if (!gst_pad_has_current_caps (enc->srcpad)) + goto no_caps; + GST_AUDIO_ENCODER_STREAM_LOCK (enc); GST_LOG_OBJECT (enc, @@ -693,6 +695,11 @@ exit: return ret; /* ERRORS */ +no_caps: + { + GST_ELEMENT_ERROR (enc, STREAM, ENCODE, ("no caps set"), (NULL)); + return GST_FLOW_ERROR; + } overflow: { GST_ELEMENT_ERROR (enc, STREAM, ENCODE,