audioencoder: turn assert into a real error

Post a real error instead of just asserting. Fixes a unit test.
This commit is contained in:
Wim Taymans 2012-01-02 15:39:58 +01:00
parent 26e612aeda
commit e9eaf17eae

View file

@ -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,