Fix bugs in fluid_sample_set_sound_data with copy enabled

- memset should clear all the memory
- end position should be at the end of sample data

Closes #576

Signed-off-by: Stefan Westerfeld <stefan@space.twc.de>
This commit is contained in:
Stefan Westerfeld 2019-10-21 17:36:23 +02:00 committed by derselbst
parent a94bc82a3c
commit 50dd443c20

View file

@ -608,7 +608,7 @@ fluid_sample_set_sound_data(fluid_sample_t *sample,
goto error_rec;
}
FLUID_MEMSET(sample->data, 0, storedNbFrames);
FLUID_MEMSET(sample->data, 0, storedNbFrames * sizeof(short));
FLUID_MEMCPY(sample->data + SAMPLE_LOOP_MARGIN, data, nbframes * sizeof(short));
if(data24 != NULL)
@ -627,7 +627,7 @@ fluid_sample_set_sound_data(fluid_sample_t *sample,
/* pointers */
/* all from the start of data */
sample->start = SAMPLE_LOOP_MARGIN;
sample->end = SAMPLE_LOOP_MARGIN + storedNbFrames - 1;
sample->end = SAMPLE_LOOP_MARGIN + nbframes - 1;
}
else
{