summaryrefslogtreecommitdiff
path: root/gst/equalizer/gstiirequalizer.c
diff options
context:
space:
mode:
authorDavid Sansome <me@davidsansome.com>2014-10-11 11:18:42 +1100
committerSebastian Dröge <sebastian@centricular.com>2014-10-13 08:30:03 +0200
commit8154c90c9bd1563b9abb6ce61b5241cd82ec8826 (patch)
tree2bf78cfdfede9261ccd8815d627967d4bb3204a9 /gst/equalizer/gstiirequalizer.c
parent51a8bedced7b0f0a6eb9e34f54852ec853ceac34 (diff)
downloadgstreamer-plugins-good-8154c90c9bd1563b9abb6ce61b5241cd82ec8826.tar.gz
equalizer: Don't call iirequalizer's transform_ip in passthrough mode
It tries to map the read-only buffer with GST_MAP_READWRITE and crashes. https://bugzilla.gnome.org/show_bug.cgi?id=737886
Diffstat (limited to 'gst/equalizer/gstiirequalizer.c')
-rw-r--r--gst/equalizer/gstiirequalizer.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/gst/equalizer/gstiirequalizer.c b/gst/equalizer/gstiirequalizer.c
index d278c4c03..e912ca52f 100644
--- a/gst/equalizer/gstiirequalizer.c
+++ b/gst/equalizer/gstiirequalizer.c
@@ -362,6 +362,7 @@ gst_iir_equalizer_class_init (GstIirEqualizerClass * klass)
gobject_class->finalize = gst_iir_equalizer_finalize;
audio_filter_class->setup = gst_iir_equalizer_setup;
btrans_class->transform_ip = gst_iir_equalizer_transform_ip;
+ btrans_class->transform_ip_on_passthrough = FALSE;
caps = gst_caps_from_string (ALLOWED_CAPS);
gst_audio_filter_class_add_pad_templates (audio_filter_class, caps);
@@ -831,9 +832,6 @@ gst_iir_equalizer_transform_ip (GstBaseTransform * btrans, GstBuffer * buf)
need_new_coefficients = equ->need_new_coefficients;
BANDS_UNLOCK (equ);
- if (!need_new_coefficients && gst_base_transform_is_passthrough (btrans))
- return GST_FLOW_OK;
-
timestamp = GST_BUFFER_TIMESTAMP (buf);
timestamp =
gst_segment_to_stream_time (&btrans->segment, GST_FORMAT_TIME, timestamp);