From 42535107ca13d728e0679330a989590c2e0f1057 Mon Sep 17 00:00:00 2001 From: Luis de Bethencourt Date: Wed, 7 Jan 2015 18:16:12 +0000 Subject: [PATCH] audiodynamic: assert func_index is inside bounds Bringing back the check removed in the previous commit but have that check be a g_assert. Changing the function to static void since return can never be False, because audio format will never be unkown. --- gst/audiofx/audiodynamic.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gst/audiofx/audiodynamic.c b/gst/audiofx/audiodynamic.c index c1e70685bb..3997602555 100644 --- a/gst/audiofx/audiodynamic.c +++ b/gst/audiofx/audiodynamic.c @@ -180,21 +180,19 @@ gst_audio_dynamic_mode_get_type (void) return gtype; } -static gboolean +static void gst_audio_dynamic_set_process_function (GstAudioDynamic * filter, const GstAudioInfo * info) { gint func_index; - if (GST_AUDIO_INFO_FORMAT (info) == GST_AUDIO_FORMAT_UNKNOWN) - return FALSE; - func_index = (filter->mode == MODE_COMPRESSOR) ? 0 : 4; func_index += (filter->characteristics == CHARACTERISTICS_HARD_KNEE) ? 0 : 2; func_index += (GST_AUDIO_INFO_FORMAT (info) == GST_AUDIO_FORMAT_F32) ? 1 : 0; + g_assert (func_index >= 0 && func_index < G_N_ELEMENTS (process_functions)); + filter->process = process_functions[func_index]; - return TRUE; } /* GObject vmethod implementations */ @@ -330,7 +328,8 @@ gst_audio_dynamic_setup (GstAudioFilter * base, const GstAudioInfo * info) { GstAudioDynamic *filter = GST_AUDIO_DYNAMIC (base); - return gst_audio_dynamic_set_process_function (filter, info); + gst_audio_dynamic_set_process_function (filter, info); + return TRUE; } static void