Merge pull request #2320 from jepler/nrf-unsigned-audio-crash

nrf: i2sout: Fix double-increment when copying samples
This commit is contained in:
Dan Halbert 2019-11-25 11:42:16 -05:00 committed by GitHub
commit d154d11911
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -139,14 +139,14 @@ static void i2s_buffer_fill(audiobusio_i2sout_obj_t* self) {
uint16_t *bp = (uint16_t*)buffer; uint16_t *bp = (uint16_t*)buffer;
uint16_t *be = (uint16_t*)(buffer + bytecount); uint16_t *be = (uint16_t*)(buffer + bytecount);
uint16_t *sp = (uint16_t*)self->sample_data; uint16_t *sp = (uint16_t*)self->sample_data;
for (; bp != be; bp++) { for (; bp < be;) {
*bp++ = *sp++ + 0x8000; *bp++ = *sp++ + 0x8000;
} }
} else { } else {
uint8_t *bp = (uint8_t*)buffer; uint8_t *bp = (uint8_t*)buffer;
uint8_t *be = (uint8_t*)(buffer + bytecount); uint8_t *be = (uint8_t*)(buffer + bytecount);
uint8_t *sp = (uint8_t*)self->sample_data; uint8_t *sp = (uint8_t*)self->sample_data;
for (; bp != be; bp++) { for (; bp < be;) {
*bp++ = *sp++ + 0x80; *bp++ = *sp++ + 0x80;
} }
} }