From 49ec6899f4909e94cfca2d7844800c1ac77f80a6 Mon Sep 17 00:00:00 2001 From: Vincent Penquerc'h Date: Thu, 11 Aug 2011 18:50:08 +0100 Subject: [PATCH] audioresample: fix quality setting being ignored by the resampler state https://bugzilla.gnome.org/show_bug.cgi?id=636562 --- gst/audioresample/gstaudioresample.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/gst/audioresample/gstaudioresample.c b/gst/audioresample/gstaudioresample.c index 9364a86..e63d106 100644 --- a/gst/audioresample/gstaudioresample.c +++ b/gst/audioresample/gstaudioresample.c @@ -1346,18 +1346,19 @@ gst_audio_resample_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstAudioResample *resample; + gint quality; resample = GST_AUDIO_RESAMPLE (object); switch (prop_id) { case PROP_QUALITY: GST_BASE_TRANSFORM_LOCK (resample); - resample->quality = g_value_get_int (value); - GST_DEBUG_OBJECT (resample, "new quality %d", resample->quality); + quality = g_value_get_int (value); + GST_DEBUG_OBJECT (resample, "new quality %d", quality); gst_audio_resample_update_state (resample, resample->width, resample->channels, resample->inrate, resample->outrate, - resample->quality, resample->fp); + quality, resample->fp); GST_BASE_TRANSFORM_UNLOCK (resample); break; case PROP_FILTER_LENGTH:{ @@ -1365,33 +1366,33 @@ gst_audio_resample_set_property (GObject * object, guint prop_id, GST_BASE_TRANSFORM_LOCK (resample); if (filter_length <= 8) - resample->quality = 0; + quality = 0; else if (filter_length <= 16) - resample->quality = 1; + quality = 1; else if (filter_length <= 32) - resample->quality = 2; + quality = 2; else if (filter_length <= 48) - resample->quality = 3; + quality = 3; else if (filter_length <= 64) - resample->quality = 4; + quality = 4; else if (filter_length <= 80) - resample->quality = 5; + quality = 5; else if (filter_length <= 96) - resample->quality = 6; + quality = 6; else if (filter_length <= 128) - resample->quality = 7; + quality = 7; else if (filter_length <= 160) - resample->quality = 8; + quality = 8; else if (filter_length <= 192) - resample->quality = 9; + quality = 9; else - resample->quality = 10; + quality = 10; - GST_DEBUG_OBJECT (resample, "new quality %d", resample->quality); + GST_DEBUG_OBJECT (resample, "new quality %d", quality); gst_audio_resample_update_state (resample, resample->width, resample->channels, resample->inrate, resample->outrate, - resample->quality, resample->fp); + quality, resample->fp); GST_BASE_TRANSFORM_UNLOCK (resample); break; } -- 2.7.4