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.
This commit is contained in:
Luis de Bethencourt 2015-01-07 18:16:12 +00:00
parent 1db92a91de
commit 42535107ca

View file

@ -180,21 +180,19 @@ gst_audio_dynamic_mode_get_type (void)
return gtype; return gtype;
} }
static gboolean static void
gst_audio_dynamic_set_process_function (GstAudioDynamic * filter, gst_audio_dynamic_set_process_function (GstAudioDynamic * filter,
const GstAudioInfo * info) const GstAudioInfo * info)
{ {
gint func_index; 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->mode == MODE_COMPRESSOR) ? 0 : 4;
func_index += (filter->characteristics == CHARACTERISTICS_HARD_KNEE) ? 0 : 2; func_index += (filter->characteristics == CHARACTERISTICS_HARD_KNEE) ? 0 : 2;
func_index += (GST_AUDIO_INFO_FORMAT (info) == GST_AUDIO_FORMAT_F32) ? 1 : 0; 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]; filter->process = process_functions[func_index];
return TRUE;
} }
/* GObject vmethod implementations */ /* GObject vmethod implementations */
@ -330,7 +328,8 @@ gst_audio_dynamic_setup (GstAudioFilter * base, const GstAudioInfo * info)
{ {
GstAudioDynamic *filter = GST_AUDIO_DYNAMIC (base); 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 static void