diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 01:06:22 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 01:06:22 +0000 |
commit | 97c34482f1293621303093137fc64e57ce8ad7ea (patch) | |
tree | e484fb25d9196aa2588717be3c7b9049efd2b240 | |
parent | 8e98c693caa8dfa2fde6baab5b131f3e7af06424 (diff) | |
parent | 6697d689b5dd3ee59acdf56ce28fdcf3aa5da3e6 (diff) | |
download | sonivox-aml_wif_341610000.tar.gz |
Snap for 10447354 from 6697d689b5dd3ee59acdf56ce28fdcf3aa5da3e6 to mainline-wifi-releaseaml_wif_341610000aml_wif_341510000aml_wif_341410080aml_wif_341310010aml_wif_341110010aml_wif_341011010aml_wif_340913010android14-mainline-wifi-release
Change-Id: I4c4b1ccdb191edd45109018cb0040c2d6fe09988
-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) { |