From ba8da2e61b1d9ebb7a4758f1f7849ff8440bd20c Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Wed, 18 Aug 2010 14:31:25 -0700 Subject: Audio Effects: fixed "strength supported" parameter size. The "strength supported" parameter for bass boost and virtualizer effect was incorrectly using a short value whereas it should be an int. This is to comply to the definition of boolean type in OpenSL ES that is uint32. Change-Id: I74ccb61dcc70fc9d390524a1ca5bbbd8b13ab1af --- media/java/android/media/BassBoost.java | 2 +- media/java/android/media/Virtualizer.java | 2 +- media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp | 17 +++++++++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/media/java/android/media/BassBoost.java b/media/java/android/media/BassBoost.java index 73c175163f8a..476b0562ed42 100644 --- a/media/java/android/media/BassBoost.java +++ b/media/java/android/media/BassBoost.java @@ -99,7 +99,7 @@ public class BassBoost extends AudioEffect { UnsupportedOperationException, RuntimeException { super(EFFECT_TYPE_BASS_BOOST, EFFECT_TYPE_NULL, priority, audioSession); - short[] value = new short[1]; + int[] value = new int[1]; checkStatus(getParameter(PARAM_STRENGTH_SUPPORTED, value)); mStrengthSupported = (value[0] != 0); } diff --git a/media/java/android/media/Virtualizer.java b/media/java/android/media/Virtualizer.java index d03c2a85d222..b08f36e5d8e3 100644 --- a/media/java/android/media/Virtualizer.java +++ b/media/java/android/media/Virtualizer.java @@ -100,7 +100,7 @@ public class Virtualizer extends AudioEffect { UnsupportedOperationException, RuntimeException { super(EFFECT_TYPE_VIRTUALIZER, EFFECT_TYPE_NULL, priority, audioSession); - short[] value = new short[1]; + int[] value = new int[1]; checkStatus(getParameter(PARAM_STRENGTH_SUPPORTED, value)); mStrengthSupported = (value[0] != 0); } diff --git a/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp b/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp index a70bdff3564e..bcd646a34f34 100644 --- a/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp +++ b/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp @@ -1626,9 +1626,15 @@ int BassBoost_getParameter(EffectContext *pContext, switch (param){ case BASSBOOST_PARAM_STRENGTH_SUPPORTED: + if (*pValueSize != sizeof(uint32_t)){ + LOGV("\tLVM_ERROR : BassBoost_getParameter() invalid pValueSize %d", *pValueSize); + return -EINVAL; + } + *pValueSize = sizeof(uint32_t); + break; case BASSBOOST_PARAM_STRENGTH: if (*pValueSize != sizeof(int16_t)){ - LOGV("\tLVM_ERROR : BassBoost_getParameter() invalid pValueSize2 %d", *pValueSize); + LOGV("\tLVM_ERROR : BassBoost_getParameter() invalid pValueSize %d", *pValueSize); return -EINVAL; } *pValueSize = sizeof(int16_t); @@ -1736,9 +1742,16 @@ int Virtualizer_getParameter(EffectContext *pContext, switch (param){ case VIRTUALIZER_PARAM_STRENGTH_SUPPORTED: + if (*pValueSize != sizeof(uint32_t)){ + LOGV("\tLVM_ERROR : Virtualizer_getParameter() invalid pValueSize %d",*pValueSize); + return -EINVAL; + } + *pValueSize = sizeof(uint32_t); + break; + case VIRTUALIZER_PARAM_STRENGTH: if (*pValueSize != sizeof(int16_t)){ - LOGV("\tLVM_ERROR : Virtualizer_getParameter() invalid pValueSize2 %d",*pValueSize); + LOGV("\tLVM_ERROR : Virtualizer_getParameter() invalid pValueSize %d",*pValueSize); return -EINVAL; } *pValueSize = sizeof(int16_t); -- cgit v1.2.3-59-g8ed1b