diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 04:45:58 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 04:45:58 +0000 |
commit | b4bd929a9765dad8d13f2f77ede0103d687ceea8 (patch) | |
tree | e484fb25d9196aa2588717be3c7b9049efd2b240 | |
parent | 6e43e3a1ce5f53faa2b8a0b9ed689c1f27b0c5a0 (diff) | |
parent | 6697d689b5dd3ee59acdf56ce28fdcf3aa5da3e6 (diff) | |
download | sonivox-aml_art_341110060.tar.gz |
Snap for 10453563 from 6697d689b5dd3ee59acdf56ce28fdcf3aa5da3e6 to mainline-art-releaseaml_art_341615020aml_art_341514450aml_art_341514410aml_art_341411300aml_art_341311100aml_art_341110110aml_art_341110060aml_art_341010050aml_art_340915060android14-mainline-art-release
Change-Id: I976a1dff22461d1e62caa942607a5c4af6633d01
-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) { |