diff --git a/ChangeLog b/ChangeLog index e8f3f1f957..c56b80d718 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-08-22 Tim-Philipp Müller + + * gst/monoscope/gstmonoscope.c: (gst_monoscope_chain): + Don't unref buffers of which we've already given away + ownership to the adapter. + 2006-08-22 Tim-Philipp Müller * ext/speex/gstspeexdec.c: (speex_dec_chain_parse_comments): diff --git a/gst/monoscope/gstmonoscope.c b/gst/monoscope/gstmonoscope.c index 573b5bff9e..9d84cd91cb 100644 --- a/gst/monoscope/gstmonoscope.c +++ b/gst/monoscope/gstmonoscope.c @@ -345,10 +345,8 @@ gst_monoscope_chain (GstPad * pad, GstBuffer * inbuf) /* do negotiation if not done yet, so ->spf etc. is set */ if (GST_PAD_CAPS (monoscope->srcpad) == NULL) { flow_ret = get_buffer (monoscope, &outbuf); - if (flow_ret != GST_FLOW_OK) { - gst_buffer_unref (inbuf); + if (flow_ret != GST_FLOW_OK) goto out; - } gst_buffer_unref (outbuf); outbuf = NULL; } @@ -401,10 +399,8 @@ gst_monoscope_chain (GstPad * pad, GstBuffer * inbuf) } flow_ret = get_buffer (monoscope, &outbuf); - if (flow_ret != GST_FLOW_OK) { - gst_buffer_unref (inbuf); + if (flow_ret != GST_FLOW_OK) goto out; - } memcpy (GST_BUFFER_DATA (outbuf), pixels, monoscope->outsize);