From dd5144fd4ef5cfb1ee45d4009ea2bc4775395874 Mon Sep 17 00:00:00 2001 From: Sebastian Dröge Date: Thu, 10 Jul 2014 12:10:45 +0200 Subject: wavenc: Return not-negotiated if we got no caps or caps negotiation failed And do it always, not inside a g_return_val_if_fail(). See https://bugzilla.gnome.org/show_bug.cgi?id=732939 --- gst/wavenc/gstwavenc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gst/wavenc/gstwavenc.c b/gst/wavenc/gstwavenc.c index fa82cf969..9f62fc7ac 100644 --- a/gst/wavenc/gstwavenc.c +++ b/gst/wavenc/gstwavenc.c @@ -848,7 +848,10 @@ gst_wavenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) GstWavEnc *wavenc = GST_WAVENC (parent); GstFlowReturn flow = GST_FLOW_OK; - g_return_val_if_fail (wavenc->channels > 0, GST_FLOW_FLUSHING); + if (wavenc->channels <= 0) { + GST_ERROR_OBJECT (wavenc, "Got data without caps"); + return GST_FLOW_NOT_NEGOTIATED; + } if (G_UNLIKELY (!wavenc->sent_header)) { /* starting a file, means we have to finish it properly */ -- cgit v1.2.3