summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sansome <me@davidsansome.com>2014-10-11 11:18:42 +1100
committerTim-Philipp Müller <tim@centricular.com>2014-10-24 20:45:29 +0100
commitc56ae189f10a79e4672feedf30e53ca17199c683 (patch)
tree22e1c6d54bb37ab1037e6e5de51a65dea2ae073b
parente0575c791d8788c9565a47a13d8117d3380d2995 (diff)
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
-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);