diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 05:01:40 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 05:01:40 +0000 |
commit | 8fb4ac9568a8996a8d8e198fc0344e66ab545ed5 (patch) | |
tree | e484fb25d9196aa2588717be3c7b9049efd2b240 | |
parent | 8579b91308ec6d4463351695d25a1ddde956a542 (diff) | |
parent | 6697d689b5dd3ee59acdf56ce28fdcf3aa5da3e6 (diff) | |
download | sonivox-aml_ext_341317010.tar.gz |
Snap for 10453563 from 6697d689b5dd3ee59acdf56ce28fdcf3aa5da3e6 to mainline-extservices-releaseaml_ext_341620040aml_ext_341518010aml_ext_341414010aml_ext_341317010aml_ext_341131030aml_ext_341027030android14-mainline-extservices-release
Change-Id: I034d4cb345a3644c5a19f70630470869d5e84c9b
-rw-r--r-- | arm-wt-22k/lib_src/eas_mdls.c | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/arm-wt-22k/lib_src/eas_mdls.c b/arm-wt-22k/lib_src/eas_mdls.c index fac6987..6771261 100644 --- a/arm-wt-22k/lib_src/eas_mdls.c +++ b/arm-wt-22k/lib_src/eas_mdls.c @@ -1340,31 +1340,32 @@ static EAS_RESULT Parse_data (SDLS_SYNTHESIZER_DATA *pDLSData, EAS_I32 pos, EAS_ if ((result = EAS_HWFileSeek(pDLSData->hwInstData, pDLSData->fileHandle, pos)) != EAS_SUCCESS) return result; - p = pSample; + p = pSample; - while (size) + while (size) + { + /* read a small chunk of data and convert it */ + count = (size < SAMPLE_CONVERT_CHUNK_SIZE ? size : SAMPLE_CONVERT_CHUNK_SIZE); + if ((result = EAS_HWReadFile(pDLSData->hwInstData, pDLSData->fileHandle, convBuf, count, &count)) != EAS_SUCCESS) { - /* read a small chunk of data and convert it */ - count = (size < SAMPLE_CONVERT_CHUNK_SIZE ? size : SAMPLE_CONVERT_CHUNK_SIZE); - if ((result = EAS_HWReadFile(pDLSData->hwInstData, pDLSData->fileHandle, convBuf, count, &count)) != EAS_SUCCESS) - { - return result; - } - size -= count; - if (pWsmp->bitsPerSample == 16) - { - memcpy(p, convBuf, count); - p += count >> 1; - } - else + return result; + } + size -= count; + if (pWsmp->bitsPerSample == 16) + { + memcpy(p, convBuf, count); + p += count >> 1; + } + else + { + for(i=0; i<count; i++) { - for(i=0; i<count; i++) - { - *p++ = (short)((convBuf[i] ^ 0x80) << 8); - } + *p++ = (short)((convBuf[i] ^ 0x80) << 8); } - } + + } + /* for looped samples, copy the last sample to the end */ if (pWsmp->loopLength) { |