diff options
Diffstat (limited to 'gst/filter/gstiir.c')
-rw-r--r-- | gst/filter/gstiir.c | 3 |
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)); |