From 8154c90c9bd1563b9abb6ce61b5241cd82ec8826 Mon Sep 17 00:00:00 2001 From: David Sansome Date: Sat, 11 Oct 2014 11:18:42 +1100 Subject: [PATCH] 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 --- gst/equalizer/gstiirequalizer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gst/equalizer/gstiirequalizer.c b/gst/equalizer/gstiirequalizer.c index d278c4c034..e912ca52fd 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);