From e9eaf17eae5a6649acf867668285dd65e9627422 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 2 Jan 2012 15:39:58 +0100 Subject: [PATCH] audioencoder: turn assert into a real error Post a real error instead of just asserting. Fixes a unit test. --- gst-libs/gst/audio/gstaudioencoder.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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, -- 2.7.4