summaryrefslogtreecommitdiffstats
path: root/gst/filter/gstiir.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/filter/gstiir.c')
-rw-r--r--gst/filter/gstiir.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst/filter/gstiir.c b/gst/filter/gstiir.c
index 0bbcb050..c363802c 100644
--- a/gst/filter/gstiir.c
+++ b/gst/filter/gstiir.c
@@ -193,6 +193,9 @@ gst_iir_chain (GstPad * pad, GstBuffer * buf)
src = (gfloat *) GST_BUFFER_DATA (buf);
+ /* get a writable buffer */
+ buf = gst_buffer_copy_on_write (buf);
+
/* do an in-place edit */
for (i = 0; i < GST_BUFFER_SIZE (buf) / sizeof (gfloat); ++i)
*(src + i) = (gfloat) IIR_filter (filter->state, (double) *(src + i));