diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 04:53:53 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 04:53:53 +0000 |
commit | ae29c856ed649e6e0332bfeb2978691f38de1982 (patch) | |
tree | e484fb25d9196aa2588717be3c7b9049efd2b240 | |
parent | 9c2c91b4a7276513a8a1d5214ec24a22861946f0 (diff) | |
parent | 6697d689b5dd3ee59acdf56ce28fdcf3aa5da3e6 (diff) | |
download | sonivox-aml_doc_341312010.tar.gz |
Snap for 10453563 from 6697d689b5dd3ee59acdf56ce28fdcf3aa5da3e6 to mainline-documentsui-releaseaml_doc_341610010aml_doc_341510050aml_doc_341312010aml_doc_341112000aml_doc_341012000aml_doc_340916000
Change-Id: I2b907048870d8f201d4f4702a617d89ef0e20a6f
-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) { |