summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2015-06-04 13:28:29 -0700
committerGlenn Kasten <gkasten@google.com>2015-06-04 15:34:23 -0700
commitcc97dbea7dbe0726f097d235163f2085a1b21498 (patch)
tree57f4d1706e7466077d78db93c45e9d680527a4c2
parenta433608d3230a3986671801a1bc41dda06e4627f (diff)
downloadandroid_frameworks_wilhelm-cc97dbea7dbe0726f097d235163f2085a1b21498.tar.gz
android_frameworks_wilhelm-cc97dbea7dbe0726f097d235163f2085a1b21498.tar.bz2
android_frameworks_wilhelm-cc97dbea7dbe0726f097d235163f2085a1b21498.zip
Allow arbitrary sample rates that are within OpenSL ES range
Bug: 15931230 Change-Id: I86292c28896b6fc445a6cf30d8e187679f18668e
-rw-r--r--src/data.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/src/data.c b/src/data.c
index cbb2c49..65d3ca2 100644
--- a/src/data.c
+++ b/src/data.c
@@ -395,27 +395,11 @@ static SLresult checkDataFormat(const char *name, void *pFormat, DataFormat *pDa
}
// check the sampling rate
- switch (pDataFormat->mPCM.samplesPerSec) {
- case SL_SAMPLINGRATE_8:
- case SL_SAMPLINGRATE_11_025:
- case SL_SAMPLINGRATE_12:
- case SL_SAMPLINGRATE_16:
- case SL_SAMPLINGRATE_22_05:
- case SL_SAMPLINGRATE_24:
- case SL_SAMPLINGRATE_32:
- case SL_SAMPLINGRATE_44_1:
- case SL_SAMPLINGRATE_48:
- case SL_SAMPLINGRATE_64:
- case SL_SAMPLINGRATE_88_2:
- case SL_SAMPLINGRATE_96:
- case SL_SAMPLINGRATE_192:
- break;
- case 0:
+ if (pDataFormat->mPCM.samplesPerSec == 0) {
result = SL_RESULT_PARAMETER_INVALID;
- break;
- default:
+ } else if (pDataFormat->mPCM.samplesPerSec < SL_SAMPLINGRATE_8 ||
+ pDataFormat->mPCM.samplesPerSec > SL_SAMPLINGRATE_192) {
result = SL_RESULT_CONTENT_UNSUPPORTED;
- break;
}
if (SL_RESULT_SUCCESS != result) {
SL_LOGE("%s: samplesPerSec=%u", name, pDataFormat->mPCM.samplesPerSec);