am 92e847ed
: Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.
Merge commit '92e847ed8e455dca3b2d33d92999e3960404d9af' into gingerbread-plus-aosp * commit '92e847ed8e455dca3b2d33d92999e3960404d9af': Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.
This commit is contained in:
@ -182,9 +182,9 @@ public class Equalizer extends AudioEffect {
|
|||||||
}
|
}
|
||||||
int[] param = new int[1];
|
int[] param = new int[1];
|
||||||
param[0] = PARAM_NUM_BANDS;
|
param[0] = PARAM_NUM_BANDS;
|
||||||
short[] value = new short[1];
|
short[] result = new short[1];
|
||||||
checkStatus(getParameter(param, value));
|
checkStatus(getParameter(param, result));
|
||||||
mNumBands = value[0];
|
mNumBands = result[0];
|
||||||
return mNumBands;
|
return mNumBands;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,16 +199,8 @@ public class Equalizer extends AudioEffect {
|
|||||||
*/
|
*/
|
||||||
public short[] getBandLevelRange()
|
public short[] getBandLevelRange()
|
||||||
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
||||||
int[] param = new int[1];
|
|
||||||
int[] value = new int[2];
|
|
||||||
param[0] = PARAM_LEVEL_RANGE;
|
|
||||||
checkStatus(getParameter(param, value));
|
|
||||||
|
|
||||||
short[] result = new short[2];
|
short[] result = new short[2];
|
||||||
|
checkStatus(getParameter(PARAM_LEVEL_RANGE, result));
|
||||||
result[0] = (short)value[0];
|
|
||||||
result[1] = (short)value[1];
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,14 +214,14 @@ public class Equalizer extends AudioEffect {
|
|||||||
* @throws IllegalArgumentException
|
* @throws IllegalArgumentException
|
||||||
* @throws UnsupportedOperationException
|
* @throws UnsupportedOperationException
|
||||||
*/
|
*/
|
||||||
public void setBandLevel(int band, short level)
|
public void setBandLevel(short band, short level)
|
||||||
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
||||||
int[] param = new int[2];
|
int[] param = new int[2];
|
||||||
int[] value = new int[1];
|
short[] value = new short[1];
|
||||||
|
|
||||||
param[0] = PARAM_BAND_LEVEL;
|
param[0] = PARAM_BAND_LEVEL;
|
||||||
param[1] = band;
|
param[1] = (int)band;
|
||||||
value[0] = (int)level;
|
value[0] = level;
|
||||||
checkStatus(setParameter(param, value));
|
checkStatus(setParameter(param, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -242,16 +234,16 @@ public class Equalizer extends AudioEffect {
|
|||||||
* @throws IllegalArgumentException
|
* @throws IllegalArgumentException
|
||||||
* @throws UnsupportedOperationException
|
* @throws UnsupportedOperationException
|
||||||
*/
|
*/
|
||||||
public short getBandLevel(int band)
|
public short getBandLevel(short band)
|
||||||
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
||||||
int[] param = new int[2];
|
int[] param = new int[2];
|
||||||
int[] result = new int[1];
|
short[] result = new short[1];
|
||||||
|
|
||||||
param[0] = PARAM_BAND_LEVEL;
|
param[0] = PARAM_BAND_LEVEL;
|
||||||
param[1] = band;
|
param[1] = (int)band;
|
||||||
checkStatus(getParameter(param, result));
|
checkStatus(getParameter(param, result));
|
||||||
|
|
||||||
return (short)result[0];
|
return result[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -264,13 +256,13 @@ public class Equalizer extends AudioEffect {
|
|||||||
* @throws IllegalArgumentException
|
* @throws IllegalArgumentException
|
||||||
* @throws UnsupportedOperationException
|
* @throws UnsupportedOperationException
|
||||||
*/
|
*/
|
||||||
public int getCenterFreq(int band)
|
public int getCenterFreq(short band)
|
||||||
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
||||||
int[] param = new int[2];
|
int[] param = new int[2];
|
||||||
int[] result = new int[1];
|
int[] result = new int[1];
|
||||||
|
|
||||||
param[0] = PARAM_CENTER_FREQ;
|
param[0] = PARAM_CENTER_FREQ;
|
||||||
param[1] = band;
|
param[1] = (int)band;
|
||||||
checkStatus(getParameter(param, result));
|
checkStatus(getParameter(param, result));
|
||||||
|
|
||||||
return result[0];
|
return result[0];
|
||||||
@ -286,12 +278,12 @@ public class Equalizer extends AudioEffect {
|
|||||||
* @throws IllegalArgumentException
|
* @throws IllegalArgumentException
|
||||||
* @throws UnsupportedOperationException
|
* @throws UnsupportedOperationException
|
||||||
*/
|
*/
|
||||||
public int[] getBandFreqRange(int band)
|
public int[] getBandFreqRange(short band)
|
||||||
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
||||||
int[] param = new int[2];
|
int[] param = new int[2];
|
||||||
int[] result = new int[2];
|
int[] result = new int[2];
|
||||||
param[0] = PARAM_BAND_FREQ_RANGE;
|
param[0] = PARAM_BAND_FREQ_RANGE;
|
||||||
param[1] = band;
|
param[1] = (int)band;
|
||||||
checkStatus(getParameter(param, result));
|
checkStatus(getParameter(param, result));
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -305,10 +297,10 @@ public class Equalizer extends AudioEffect {
|
|||||||
* @throws IllegalArgumentException
|
* @throws IllegalArgumentException
|
||||||
* @throws UnsupportedOperationException
|
* @throws UnsupportedOperationException
|
||||||
*/
|
*/
|
||||||
public int getBand(int frequency)
|
public short getBand(int frequency)
|
||||||
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
||||||
int[] param = new int[2];
|
int[] param = new int[2];
|
||||||
int[] result = new int[1];
|
short[] result = new short[1];
|
||||||
|
|
||||||
param[0] = PARAM_GET_BAND;
|
param[0] = PARAM_GET_BAND;
|
||||||
param[1] = frequency;
|
param[1] = frequency;
|
||||||
@ -326,11 +318,9 @@ public class Equalizer extends AudioEffect {
|
|||||||
*/
|
*/
|
||||||
public short getCurrentPreset()
|
public short getCurrentPreset()
|
||||||
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
||||||
int[] param = new int[1];
|
short[] result = new short[1];
|
||||||
param[0] = PARAM_CURRENT_PRESET;
|
checkStatus(getParameter(PARAM_CURRENT_PRESET, result));
|
||||||
short[] value = new short[1];
|
return result[0];
|
||||||
checkStatus(getParameter(param, value));
|
|
||||||
return value[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -356,11 +346,9 @@ public class Equalizer extends AudioEffect {
|
|||||||
*/
|
*/
|
||||||
public short getNumberOfPresets()
|
public short getNumberOfPresets()
|
||||||
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException {
|
||||||
int[] param = new int[1];
|
short[] result = new short[1];
|
||||||
param[0] = PARAM_GET_NUM_OF_PRESETS;
|
checkStatus(getParameter(PARAM_GET_NUM_OF_PRESETS, result));
|
||||||
short[] value = new short[1];
|
return result[0];
|
||||||
checkStatus(getParameter(param, value));
|
|
||||||
return value[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1848,6 +1848,8 @@ int Equalizer_getParameter(EffectContext *pContext,
|
|||||||
case EQ_PARAM_NUM_BANDS:
|
case EQ_PARAM_NUM_BANDS:
|
||||||
case EQ_PARAM_CUR_PRESET:
|
case EQ_PARAM_CUR_PRESET:
|
||||||
case EQ_PARAM_GET_NUM_OF_PRESETS:
|
case EQ_PARAM_GET_NUM_OF_PRESETS:
|
||||||
|
case EQ_PARAM_BAND_LEVEL:
|
||||||
|
case EQ_PARAM_GET_BAND:
|
||||||
if (*pValueSize < sizeof(int16_t)) {
|
if (*pValueSize < sizeof(int16_t)) {
|
||||||
LOGV("\tLVM_ERROR : Equalizer_getParameter() invalid pValueSize 1 %d", *pValueSize);
|
LOGV("\tLVM_ERROR : Equalizer_getParameter() invalid pValueSize 1 %d", *pValueSize);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -1856,6 +1858,13 @@ int Equalizer_getParameter(EffectContext *pContext,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_LEVEL_RANGE:
|
case EQ_PARAM_LEVEL_RANGE:
|
||||||
|
if (*pValueSize < 2 * sizeof(int16_t)) {
|
||||||
|
LOGV("\tLVM_ERROR : Equalizer_getParameter() invalid pValueSize 2 %d", *pValueSize);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
*pValueSize = 2 * sizeof(int16_t);
|
||||||
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_BAND_FREQ_RANGE:
|
case EQ_PARAM_BAND_FREQ_RANGE:
|
||||||
if (*pValueSize < 2 * sizeof(int32_t)) {
|
if (*pValueSize < 2 * sizeof(int32_t)) {
|
||||||
LOGV("\tLVM_ERROR : Equalizer_getParameter() invalid pValueSize 2 %d", *pValueSize);
|
LOGV("\tLVM_ERROR : Equalizer_getParameter() invalid pValueSize 2 %d", *pValueSize);
|
||||||
@ -1863,8 +1872,7 @@ int Equalizer_getParameter(EffectContext *pContext,
|
|||||||
}
|
}
|
||||||
*pValueSize = 2 * sizeof(int32_t);
|
*pValueSize = 2 * sizeof(int32_t);
|
||||||
break;
|
break;
|
||||||
case EQ_PARAM_BAND_LEVEL:
|
|
||||||
case EQ_PARAM_GET_BAND:
|
|
||||||
case EQ_PARAM_CENTER_FREQ:
|
case EQ_PARAM_CENTER_FREQ:
|
||||||
if (*pValueSize < sizeof(int32_t)) {
|
if (*pValueSize < sizeof(int32_t)) {
|
||||||
LOGV("\tLVM_ERROR : Equalizer_getParameter() invalid pValueSize 1 %d", *pValueSize);
|
LOGV("\tLVM_ERROR : Equalizer_getParameter() invalid pValueSize 1 %d", *pValueSize);
|
||||||
@ -1891,13 +1899,13 @@ int Equalizer_getParameter(EffectContext *pContext,
|
|||||||
|
|
||||||
switch (param) {
|
switch (param) {
|
||||||
case EQ_PARAM_NUM_BANDS:
|
case EQ_PARAM_NUM_BANDS:
|
||||||
*(int16_t *)pValue = FIVEBAND_NUMBANDS;
|
*(uint16_t *)pValue = (uint16_t)FIVEBAND_NUMBANDS;
|
||||||
//LOGV("\tEqualizer_getParameter() EQ_PARAM_NUM_BANDS %d", *(int16_t *)pValue);
|
//LOGV("\tEqualizer_getParameter() EQ_PARAM_NUM_BANDS %d", *(int16_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_LEVEL_RANGE:
|
case EQ_PARAM_LEVEL_RANGE:
|
||||||
*(int32_t *)pValue = -1500;
|
*(int16_t *)pValue = -1500;
|
||||||
*((int32_t *)pValue + 1) = 1500;
|
*((int16_t *)pValue + 1) = 1500;
|
||||||
//LOGV("\tEqualizer_getParameter() EQ_PARAM_LEVEL_RANGE min %d, max %d",
|
//LOGV("\tEqualizer_getParameter() EQ_PARAM_LEVEL_RANGE min %d, max %d",
|
||||||
// *(int32_t *)pValue, *((int32_t *)pValue + 1));
|
// *(int32_t *)pValue, *((int32_t *)pValue + 1));
|
||||||
break;
|
break;
|
||||||
@ -1908,7 +1916,7 @@ int Equalizer_getParameter(EffectContext *pContext,
|
|||||||
status = -EINVAL;
|
status = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
*(int32_t *)pValue = EqualizerGetBandLevel(pContext, param2);
|
*(int16_t *)pValue = (int16_t)EqualizerGetBandLevel(pContext, param2);
|
||||||
//LOGV("\tEqualizer_getParameter() EQ_PARAM_BAND_LEVEL band %d, level %d",
|
//LOGV("\tEqualizer_getParameter() EQ_PARAM_BAND_LEVEL band %d, level %d",
|
||||||
// param2, *(int32_t *)pValue);
|
// param2, *(int32_t *)pValue);
|
||||||
break;
|
break;
|
||||||
@ -1937,18 +1945,18 @@ int Equalizer_getParameter(EffectContext *pContext,
|
|||||||
|
|
||||||
case EQ_PARAM_GET_BAND:
|
case EQ_PARAM_GET_BAND:
|
||||||
param2 = *pParam;
|
param2 = *pParam;
|
||||||
*(int32_t *)pValue = EqualizerGetBand(pContext, param2);
|
*(uint16_t *)pValue = (uint16_t)EqualizerGetBand(pContext, param2);
|
||||||
//LOGV("\tEqualizer_getParameter() EQ_PARAM_GET_BAND frequency %d, band %d",
|
//LOGV("\tEqualizer_getParameter() EQ_PARAM_GET_BAND frequency %d, band %d",
|
||||||
// param2, *(int32_t *)pValue);
|
// param2, *(int32_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_CUR_PRESET:
|
case EQ_PARAM_CUR_PRESET:
|
||||||
*(int16_t *)pValue = EqualizerGetPreset(pContext);
|
*(uint16_t *)pValue = (uint16_t)EqualizerGetPreset(pContext);
|
||||||
//LOGV("\tEqualizer_getParameter() EQ_PARAM_CUR_PRESET %d", *(int32_t *)pValue);
|
//LOGV("\tEqualizer_getParameter() EQ_PARAM_CUR_PRESET %d", *(int32_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_GET_NUM_OF_PRESETS:
|
case EQ_PARAM_GET_NUM_OF_PRESETS:
|
||||||
*(int16_t *)pValue = EqualizerGetNumPresets();
|
*(uint16_t *)pValue = (uint16_t)EqualizerGetNumPresets();
|
||||||
//LOGV("\tEqualizer_getParameter() EQ_PARAM_GET_NUM_OF_PRESETS %d", *(int16_t *)pValue);
|
//LOGV("\tEqualizer_getParameter() EQ_PARAM_GET_NUM_OF_PRESETS %d", *(int16_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1968,12 +1976,12 @@ int Equalizer_getParameter(EffectContext *pContext,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_PROPERTIES: {
|
case EQ_PARAM_PROPERTIES: {
|
||||||
uint16_t *p = (uint16_t *)pValue;
|
int16_t *p = (int16_t *)pValue;
|
||||||
LOGV("\tEqualizer_getParameter() EQ_PARAM_PROPERTIES");
|
LOGV("\tEqualizer_getParameter() EQ_PARAM_PROPERTIES");
|
||||||
p[0] = EqualizerGetPreset(pContext);
|
p[0] = (int16_t)EqualizerGetPreset(pContext);
|
||||||
p[1] = FIVEBAND_NUMBANDS;
|
p[1] = (int16_t)FIVEBAND_NUMBANDS;
|
||||||
for (int i = 0; i < FIVEBAND_NUMBANDS; i++) {
|
for (int i = 0; i < FIVEBAND_NUMBANDS; i++) {
|
||||||
p[2 + i] = EqualizerGetBandLevel(pContext, i);
|
p[2 + i] = (int16_t)EqualizerGetBandLevel(pContext, i);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
@ -2011,7 +2019,7 @@ int Equalizer_setParameter (EffectContext *pContext, int32_t *pParam, void *pVal
|
|||||||
//LOGV("\tEqualizer_setParameter start");
|
//LOGV("\tEqualizer_setParameter start");
|
||||||
switch (param) {
|
switch (param) {
|
||||||
case EQ_PARAM_CUR_PRESET:
|
case EQ_PARAM_CUR_PRESET:
|
||||||
preset = *(int16_t *)pValue;
|
preset = (int32_t)(*(uint16_t *)pValue);
|
||||||
|
|
||||||
//LOGV("\tEqualizer_setParameter() EQ_PARAM_CUR_PRESET %d", preset);
|
//LOGV("\tEqualizer_setParameter() EQ_PARAM_CUR_PRESET %d", preset);
|
||||||
if ((preset >= EqualizerGetNumPresets())||(preset < 0)) {
|
if ((preset >= EqualizerGetNumPresets())||(preset < 0)) {
|
||||||
@ -2022,7 +2030,7 @@ int Equalizer_setParameter (EffectContext *pContext, int32_t *pParam, void *pVal
|
|||||||
break;
|
break;
|
||||||
case EQ_PARAM_BAND_LEVEL:
|
case EQ_PARAM_BAND_LEVEL:
|
||||||
band = *pParam;
|
band = *pParam;
|
||||||
level = *(int32_t *)pValue;
|
level = (int32_t)(*(int16_t *)pValue);
|
||||||
//LOGV("\tEqualizer_setParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", band, level);
|
//LOGV("\tEqualizer_setParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", band, level);
|
||||||
if (band >= FIVEBAND_NUMBANDS) {
|
if (band >= FIVEBAND_NUMBANDS) {
|
||||||
status = -EINVAL;
|
status = -EINVAL;
|
||||||
@ -2030,8 +2038,28 @@ int Equalizer_setParameter (EffectContext *pContext, int32_t *pParam, void *pVal
|
|||||||
}
|
}
|
||||||
EqualizerSetBandLevel(pContext, band, level);
|
EqualizerSetBandLevel(pContext, band, level);
|
||||||
break;
|
break;
|
||||||
|
case EQ_PARAM_PROPERTIES: {
|
||||||
|
//LOGV("\tEqualizer_setParameter() EQ_PARAM_PROPERTIES");
|
||||||
|
int16_t *p = (int16_t *)pValue;
|
||||||
|
if ((int)p[0] >= EqualizerGetNumPresets()) {
|
||||||
|
status = -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (p[0] >= 0) {
|
||||||
|
EqualizerSetPreset(pContext, (int)p[0]);
|
||||||
|
} else {
|
||||||
|
if ((int)p[1] != FIVEBAND_NUMBANDS) {
|
||||||
|
status = -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < FIVEBAND_NUMBANDS; i++) {
|
||||||
|
EqualizerSetBandLevel(pContext, i, (int)p[2 + i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} break;
|
||||||
default:
|
default:
|
||||||
LOGV("\tLVM_ERROR : setParameter() invalid param %d", param);
|
LOGV("\tLVM_ERROR : setParameter() invalid param %d", param);
|
||||||
|
status = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -350,6 +350,8 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t
|
|||||||
case EQ_PARAM_NUM_BANDS:
|
case EQ_PARAM_NUM_BANDS:
|
||||||
case EQ_PARAM_CUR_PRESET:
|
case EQ_PARAM_CUR_PRESET:
|
||||||
case EQ_PARAM_GET_NUM_OF_PRESETS:
|
case EQ_PARAM_GET_NUM_OF_PRESETS:
|
||||||
|
case EQ_PARAM_BAND_LEVEL:
|
||||||
|
case EQ_PARAM_GET_BAND:
|
||||||
if (*pValueSize < sizeof(int16_t)) {
|
if (*pValueSize < sizeof(int16_t)) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
@ -357,14 +359,19 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_LEVEL_RANGE:
|
case EQ_PARAM_LEVEL_RANGE:
|
||||||
|
if (*pValueSize < 2 * sizeof(int16_t)) {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
*pValueSize = 2 * sizeof(int16_t);
|
||||||
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_BAND_FREQ_RANGE:
|
case EQ_PARAM_BAND_FREQ_RANGE:
|
||||||
if (*pValueSize < 2 * sizeof(int32_t)) {
|
if (*pValueSize < 2 * sizeof(int32_t)) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
*pValueSize = 2 * sizeof(int32_t);
|
*pValueSize = 2 * sizeof(int32_t);
|
||||||
break;
|
break;
|
||||||
case EQ_PARAM_BAND_LEVEL:
|
|
||||||
case EQ_PARAM_GET_BAND:
|
|
||||||
case EQ_PARAM_CENTER_FREQ:
|
case EQ_PARAM_CENTER_FREQ:
|
||||||
if (*pValueSize < sizeof(int32_t)) {
|
if (*pValueSize < sizeof(int32_t)) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -375,19 +382,26 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t
|
|||||||
case EQ_PARAM_GET_PRESET_NAME:
|
case EQ_PARAM_GET_PRESET_NAME:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case EQ_PARAM_PROPERTIES:
|
||||||
|
if (*pValueSize < (2 + kNumBands) * sizeof(uint16_t)) {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
*pValueSize = (2 + kNumBands) * sizeof(uint16_t);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (param) {
|
switch (param) {
|
||||||
case EQ_PARAM_NUM_BANDS:
|
case EQ_PARAM_NUM_BANDS:
|
||||||
*(int16_t *)pValue = kNumBands;
|
*(uint16_t *)pValue = (uint16_t)kNumBands;
|
||||||
LOGV("Equalizer_getParameter() EQ_PARAM_NUM_BANDS %d", *(int16_t *)pValue);
|
LOGV("Equalizer_getParameter() EQ_PARAM_NUM_BANDS %d", *(int16_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_LEVEL_RANGE:
|
case EQ_PARAM_LEVEL_RANGE:
|
||||||
*(int32_t *)pValue = -9600;
|
*(int16_t *)pValue = -9600;
|
||||||
*((int32_t *)pValue + 1) = 4800;
|
*((int16_t *)pValue + 1) = 4800;
|
||||||
LOGV("Equalizer_getParameter() EQ_PARAM_LEVEL_RANGE min %d, max %d", *(int32_t *)pValue, *((int32_t *)pValue + 1));
|
LOGV("Equalizer_getParameter() EQ_PARAM_LEVEL_RANGE min %d, max %d", *(int32_t *)pValue, *((int32_t *)pValue + 1));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -397,7 +411,7 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t
|
|||||||
status = -EINVAL;
|
status = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
*(int32_t *)pValue = pEqualizer->getGain(param2);
|
*(int16_t *)pValue = (int16_t)pEqualizer->getGain(param2);
|
||||||
LOGV("Equalizer_getParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", param2, *(int32_t *)pValue);
|
LOGV("Equalizer_getParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", param2, *(int32_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -423,17 +437,17 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t
|
|||||||
|
|
||||||
case EQ_PARAM_GET_BAND:
|
case EQ_PARAM_GET_BAND:
|
||||||
param2 = *pParam;
|
param2 = *pParam;
|
||||||
*(int32_t *)pValue = pEqualizer->getMostRelevantBand(param2);
|
*(uint16_t *)pValue = (uint16_t)pEqualizer->getMostRelevantBand(param2);
|
||||||
LOGV("Equalizer_getParameter() EQ_PARAM_GET_BAND frequency %d, band %d", param2, *(int32_t *)pValue);
|
LOGV("Equalizer_getParameter() EQ_PARAM_GET_BAND frequency %d, band %d", param2, *(int32_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_CUR_PRESET:
|
case EQ_PARAM_CUR_PRESET:
|
||||||
*(int16_t *)pValue = pEqualizer->getPreset();
|
*(uint16_t *)pValue = (uint16_t)pEqualizer->getPreset();
|
||||||
LOGV("Equalizer_getParameter() EQ_PARAM_CUR_PRESET %d", *(int32_t *)pValue);
|
LOGV("Equalizer_getParameter() EQ_PARAM_CUR_PRESET %d", *(int32_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EQ_PARAM_GET_NUM_OF_PRESETS:
|
case EQ_PARAM_GET_NUM_OF_PRESETS:
|
||||||
*(int16_t *)pValue = pEqualizer->getNumPresets();
|
*(uint16_t *)pValue = (uint16_t)pEqualizer->getNumPresets();
|
||||||
LOGV("Equalizer_getParameter() EQ_PARAM_GET_NUM_OF_PRESETS %d", *(int16_t *)pValue);
|
LOGV("Equalizer_getParameter() EQ_PARAM_GET_NUM_OF_PRESETS %d", *(int16_t *)pValue);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -450,6 +464,16 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t
|
|||||||
LOGV("Equalizer_getParameter() EQ_PARAM_GET_PRESET_NAME preset %d, name %s len %d", param2, gEqualizerPresets[param2].name, *pValueSize);
|
LOGV("Equalizer_getParameter() EQ_PARAM_GET_PRESET_NAME preset %d, name %s len %d", param2, gEqualizerPresets[param2].name, *pValueSize);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case EQ_PARAM_PROPERTIES: {
|
||||||
|
int16_t *p = (int16_t *)pValue;
|
||||||
|
LOGV("Equalizer_getParameter() EQ_PARAM_PROPERTIES");
|
||||||
|
p[0] = (int16_t)pEqualizer->getPreset();
|
||||||
|
p[1] = (int16_t)kNumBands;
|
||||||
|
for (int i = 0; i < kNumBands; i++) {
|
||||||
|
p[2 + i] = (int16_t)pEqualizer->getGain(i);
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
LOGV("Equalizer_getParameter() invalid param %d", param);
|
LOGV("Equalizer_getParameter() invalid param %d", param);
|
||||||
status = -EINVAL;
|
status = -EINVAL;
|
||||||
@ -489,10 +513,10 @@ int Equalizer_setParameter (AudioEqualizer * pEqualizer, int32_t *pParam, void *
|
|||||||
|
|
||||||
switch (param) {
|
switch (param) {
|
||||||
case EQ_PARAM_CUR_PRESET:
|
case EQ_PARAM_CUR_PRESET:
|
||||||
preset = *(int16_t *)pValue;
|
preset = (int32_t)(*(uint16_t *)pValue);
|
||||||
|
|
||||||
LOGV("setParameter() EQ_PARAM_CUR_PRESET %d", preset);
|
LOGV("setParameter() EQ_PARAM_CUR_PRESET %d", preset);
|
||||||
if (preset >= pEqualizer->getNumPresets()) {
|
if (preset < 0 || preset >= pEqualizer->getNumPresets()) {
|
||||||
status = -EINVAL;
|
status = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -501,7 +525,7 @@ int Equalizer_setParameter (AudioEqualizer * pEqualizer, int32_t *pParam, void *
|
|||||||
break;
|
break;
|
||||||
case EQ_PARAM_BAND_LEVEL:
|
case EQ_PARAM_BAND_LEVEL:
|
||||||
band = *pParam;
|
band = *pParam;
|
||||||
level = *(int32_t *)pValue;
|
level = (int32_t)(*(int16_t *)pValue);
|
||||||
LOGV("setParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", band, level);
|
LOGV("setParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", band, level);
|
||||||
if (band >= kNumBands) {
|
if (band >= kNumBands) {
|
||||||
status = -EINVAL;
|
status = -EINVAL;
|
||||||
@ -510,8 +534,29 @@ int Equalizer_setParameter (AudioEqualizer * pEqualizer, int32_t *pParam, void *
|
|||||||
pEqualizer->setGain(band, level);
|
pEqualizer->setGain(band, level);
|
||||||
pEqualizer->commit(true);
|
pEqualizer->commit(true);
|
||||||
break;
|
break;
|
||||||
|
case EQ_PARAM_PROPERTIES: {
|
||||||
|
LOGV("setParameter() EQ_PARAM_PROPERTIES");
|
||||||
|
int16_t *p = (int16_t *)pValue;
|
||||||
|
if ((int)p[0] >= pEqualizer->getNumPresets()) {
|
||||||
|
status = -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (p[0] >= 0) {
|
||||||
|
pEqualizer->setPreset((int)p[0]);
|
||||||
|
} else {
|
||||||
|
if ((int)p[1] != kNumBands) {
|
||||||
|
status = -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < kNumBands; i++) {
|
||||||
|
pEqualizer->setGain(i, (int32_t)p[2 + i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pEqualizer->commit(true);
|
||||||
|
} break;
|
||||||
default:
|
default:
|
||||||
LOGV("setParameter() invalid param %d", param);
|
LOGV("setParameter() invalid param %d", param);
|
||||||
|
status = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user